タグ付けされた質問 「docker」

Dockerは、ソフトウェアコンテナー内のアプリケーションの展開を自動化するオープンソースプロジェクトです。

4
Dockerアプリケーションに標準出力への書き込みを行わせます
12ファクターアドバイザリに準拠してサードパーティアプリケーションを展開していますが、ポイントの1つは、アプリケーションログをstdout / stderrに出力する必要があることを示しています。その後、クラスタリングソフトウェアがそれを収集できます。 ただし、アプリケーションはファイルまたはsyslogにのみ書き込むことができます。代わりにこれらのログを印刷するにはどうすればよいですか?

9
DockerコンテナーはUbuntu 14.04デスクトップホスト上のDNSを解決できません
Ubuntu 14.04 LTSのDockerコンテナで問題が発生しています。Dockerは2日間正常に動作し、その後突然コンテナー内のすべてのネットワーク接続が失われました。以下のエラー出力は、当初apt-getがIPv6を介してDNSを解決しようとしているためだと信じるようになりました。 ホストマシンでIPv6を無効にし、それでもすべてのイメージを削除し、ベースのUbuntuを削除しても、問題が発生しました。 /etc/resolve.confネームサーバーをローカルDNSサーバーからGoogleのパブリックDNSサーバー(8.8.8.8および8.8.4.4)に変更しましたが、まだ運がありません。また、/ etc / default / dockerのDOCKER_OPTSでDNSをGoogleに設定し、Dockerを再起動しました。 また、coreosをプルしようとしましたが、yumもDNSを解決できませんでした。 DNSは機能しませんが、apt-getで解決できないのと同じ更新サーバーにpingを実行すると、まだ応答が返されるため、奇妙です。 私はプロキシの背後にいるわけではなく、非常に標準的なローカルネットワークにいます。Ubuntuのこのバージョンは最新で新鮮です(2日前にdockerに近づけるためにインストールしました)。 私はこれをstackoverflowとgithubの問題に関する他の投稿を通して徹底的に調査しましたが、解決策は見つかりませんでした。私はこの問題を解決する方法についてのアイデアがありません、誰でも助けることができますか? エラーメッセージ ➜ arthouse git:(docker) ✗ docker build --no-cache . Sending build context to Docker daemon 51.03 MB Sending build context to Docker daemon Step 0 : FROM ubuntu:14.04 ---> 5506de2b643b Step 1 : RUN apt-get update …

4
Docker Composeバージョン2の「ボリューム」構文はどのように見えるのですか?
ドッカーのCompose V1.6.0 +、今の新しい/バージョン2ファイルの構文があるdocker-compose.ymlファイル。変更には、という名前の別のトップレベルキーが含まれvolumesます。これにより、ボリューム定義を1か所で「集中化」できます。 私がやろうとしているのは、そこにボリュームに名前を付けて、ローカルホストディスク上の単一のボリューム参照複数パスを持つことです。以下は、Tracebackで終わる例外をスローする例です。 AttributeError: 'list' object has no attribute 'items' 例docker-compose.yml: version: '2' services: db: image: postgres volumes: - database:/var/lib/postgres/data php: image: php-fpm:5.6 volumes: - phpconf:/etc/php/conf.d namedvolume: container_name: namedvolume build: ./Docker/Testvolume volumes: - ./Docker/Testvolume/shareme volumes: database: - ./Docker/Postgres/db:ro - ./Docker/Postgres/ini phpconf: - ./Docker/PHP-FPM/conf singledir: ./Docker/foo completemap: ./Docker/bar:/etc/service/conf.d - namedvolume:/etc/service/conf.d …

4
定期的なタスクに使用されたときにdockerコンテナーを起動したままにする正しい方法
ソフトウェアをインストールおよび構成したdockerコンテナーがあります。 常に開始/実行されるはずのプログラムはありません。 私が欲しいもの-外部イベントに応じてコマンドを開始する機能。好む: docker exec mysupercont /path/to/mycommand -bla -for そして docker exec mysupercont /path/to/myothercommand しかし、コンテナが停止している場合は「exec」が不可能であり、このコンテナにはそのコマンドに使用される「作業」データが含まれているため、使用できません docker run ... 毎回、画像からコンテナを再作成し、データを破壊するためです。 そのようなコンテナを動かし続けるための「正しい」方法と「最良の」方法は何ですか?内部で起動できるコマンドはどれですか?
41 docker 

5
Docker CMDディレクティブの複数のコマンド
実行時に `DockerfileのCMDディレクティブを介して2つのコマンドを実行しようとすると、何が起こっているのか理解できません。私はこれがうまくいくと仮定しました: CMD ["/etc/init.d/nullmailer", "start", ";", "/usr/sbin/php5-fpm"] しかし、それは機能していません。コンテナは起動していません。だから私はこのようにしなければなりませんでした: CMD ["sh", "-c", "/etc/init.d/nullmailer start ; /usr/sbin/php5-fpm"] 分かりません。何故ですか?なぜ最初の行が正しい方法ではないのですか?誰かがこれらの「CMDシェル形式vs JSON形式など」について説明してくれますか。簡単な言葉で。 ただ注意してください- 予想通り、command:ディレクティブはin でも同じでしたdocker-compose.yml。
39 docker 

4
docker runでディレクトリにcdできないのはなぜですか?
特定のディレクトリからアプリケーションを実行する必要があります。 $ sudo docker run -P ubuntu/decomposer 'cd /local/deploy/decomposer; ./decomposer-4-15-2014' 2014/10/09 21:30:03 exec: "cd /local/deploy/decomposer; ./decomposer-4-15-2014": stat cd /local/deploy/decomposer; ./decomposer-4-15-2014: no such file or directory そのディレクトリは間違いなく存在します。bashをインタラクティブに実行してdockerに接続すると、上記のコマンドを実行できます。 $ sudo docker run -i -t ubuntu/decomposer /bin/bash # cd /local/deploy/decomposer; ./decomposer-4-15-2014 完全なパスを指定してプログラムを実行できますが、現在のディレクトリから起動されると予想されるため、クラッシュします。私に何ができる?
39 docker 

11
Docker COPYの問題-「そのようなファイルまたはディレクトリはありません」
私のDockerfileには、次の「COPY」ステートメントがあります。 # Copy app code COPY /srv/visitor /srv/visitor ホストシステムの「/ srv / visitor」ディレクトリの下に、ソースコードがあることは言うまでもありません。 [root@V12 visitor]# ls /srv/visitor/ Dockerfile package.json visitor.js さて、このDockerfileを使用してイメージを作成しようとすると、「COPY」が発生するはずのステップでハングします。 Step 10 : COPY /srv/visitor /srv/visitor INFO[0155] srv/visitor: no such file or directory そのようなディレクトリは存在しないと言われていますが、明らかに存在します。 何か案は? 更新1: ビルドコンテキストを理解する方法で、私は間違っていたと指摘されました。提案は、「COPY」ステートメントをこれに変更することになりました。 COPY . /srv/visitor 問題は、私がこのようにしていたことであり、ビルドプロセスが次のステップで停止したことです。 RUN npm install 「package.jsonファイルが見つかりません」という行に沿って何かがはっきりとあると言った。 更新2: Dockerfileに次の変更を加えて実行してみました。 COPY source /srv/visitor/ …
38 node.js  docker 

1
DockerにLinuxコンテナーの代わりにWindowsコンテナーを使用することの長所と短所は?
Windows 10にDocker for Windows(CE)をインストールしていますが、最初の画面で次の質問が表示されます。 [] Linuxコンテナの代わりにWindowsコンテナを使用します(これはインストール後に変更できます) これは重要な決定のように思えますが、Dockerのドキュメント、FAQ、およびWindowsコンテナーチュートリアルでは、なぜ私がどちらを選択するのかについての情報を提供していません。 この選択の影響の客観的な概要を把握しておくと役立ちます。 1つのオプションは他のオプションよりも高速ですか? この決定は、システムリソース(RAM、CPU)の使用に影響しますか? 両方のタイプで同じ画像を実行できますか? 一方は他方より安全ですか? 私が結論に達するのに役立つかもしれない他の区別は非常に歓迎されるでしょう。

3
kubernetesジョブを再実行することは可能ですか?
次のKubernetesジョブ構成があります。 --- apiVersion: batch/v1 kind: Job metadata: name: dbload creationTimestamp: spec: template: metadata: name: dbload spec: containers: - name: dbload image: sdvl3prox001:7001/pbench/tdload command: ["/opt/pbench/loadTpcdsData.sh", "qas0063", "dbc", "dbc", "1"] restartPolicy: Never imagePullSecrets: - name: pbenchregkey status: {} kubectl create -f dbload-deployment.yml --recordジョブを実行してポッドが作成されると、Dockerコンテナーが完了するまで実行され、次のステータスが表示されます。 $ kubectl get job dbload NAME DESIRED SUCCESSFUL AGE …

1
docker-proxyプロセスのポイントは何ですか?ユーザースペースのtcpプロキシが必要なのはなぜですか?
公開された各ポートに対してdocker-proxyプロセスが実行されていることに気付きました。このプロセスの目的は何ですか?これにユーザースペースのTCPプロキシが必要なのはなぜですか? $ ps -Af | grep proxy root 4776 1987 0 01:25 ? 00:00:00 docker-proxy -proto tcp -host-ip 127.0.0.1 -host-port 22222 -container-ip 172.17.0.2 -container-port 22 root 4829 1987 0 01:25 ? 00:00:00 docker-proxy -proto tcp -host-ip 127.0.0.1 -host-port 5555 -container-ip 172.17.0.3 -container-port 5555 およびdockerによって作成されたいくつかの関連するiptableルール: $ sudo iptables -t nat -L …
34 iptables  docker 

6
Amazon ECSのサービスのコンテナーを更新する
Amazon ECSで実行されているサービスのコンテナーを更新するには、どのようなアプローチが推奨されますか? AWSのドキュメントは言う:「あなたはあなたのアプリケーションのドッカーイメージを更新した場合、あなたはそのイメージに新しいタスクの定義を作成し、あなたのサービス、一度に一つのタスクにそれを展開することができます。」これは、現在ドキュメント(2015年4月13日)で現在利用可能なほとんどすべてです。 Amazon ECSでアプリケーションコンテナを更新する唯一の方法は、新しいタスクを作成してから、古いタスクを停止して新しいタスクを開始することだと正しく理解しましたか? Core OSおよびFleetctlで「latest」タグを使用しています。これには、サービスをリロードすると新しい変更が表示され、同じタグ「最新」を使用してコンテナが更新されるため、Dockerイメージのタグを新しい更新のために変更する必要がないという利点があります。 Amazon ECSの更新されたdockerイメージでサービスを更新するためにどのようなアプローチを使用しましたか?

2
Dockerfileからビルドする場合、Debian / Ubuntuパッケージのインストールdebconf非対話型インストールは許可されません
apt-getのインストール中に質問/ダイアログが表示されないように、次の環境を設定しました。 ENV DEBIAN_FRONTEND noninteractive # export DEBIAN_FRONTEND="noninteractive" 次と同等です: export DEBIAN_FRONTEND="noninteractive" しかし、Dockerfileからイメージを構築する場合、特定のDebian / Ubuntuパッケージのインストールの最後(apt-getインストールを使用)で、パッケージ構成debconfは次のように述べています。 debconf: unable to initialize frontend: Noninteractive # export DEBIAN_FRONTEND="noninteractive" debconf: (Bareword "Debconf::FrontEnd::Noninteractive" not allowed while "strict subs" in use at (eval 35) line 3, <> line 1.) debconf: falling back to frontend: Noninteractive Subroutine BEGIN redefined at …
29 docker 


3
Apache2ログをstdout / stderrに書き込みますか?
DockerコンテナでApache2を実行していますが、ディスクに何も書き込まず、ログをstdoutおよびstderrに書き込みたいと考えています。私はこれを行うためのいくつかの異なる方法を見ました(Supervisordおよびstdout / stderr、 Apacheアクセスログからstdout)が、これらはハッキングのように見えます。デフォルトでこれを行う方法はありませんか? 明確にするために、ログを末尾にしたくないのは、コンテナ内のディスクに物事が書き込まれることになるからです。

2
SwarmクラスタなしでDockerシークレットを使用する方法は?
現在、単一のdockerコンテナで実行中のアプリケーションを使用しています。アプリケーションでは、環境変数として渡すためにあらゆる種類の機密データが必要です。 実行コマンドにそれらを置いて、イメージとリポジトリに行き着かないようにしますが、非常に安全ではない実行コマンドになります 今、ドッカーシークレットが存在することを理解していますが、クラスターをデプロイせずにどのように使用できますか?または、このデータを保護する他の方法はありますか? 宜しくお願いします、

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.