問題タブ [docker-compose]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1205 参照

docker - 再起動後、単一ノードの Docker 化された Consul クラスターに IP を保持するにはどうすればよいですか?

私はDockerとConsulを初めて使用し、現在3つのDocker化されたノードで構成されるローカルConsulクラスターをセットアップしようとしています. 私はprogrium/consulDocker イメージを使用しており、説明されているチュートリアルと例全体を確認しました。
再起動/再起動するまで、クラスターは正常に動作します。

これが私のものdocker-compose.ymlです:

--- node1: command: "-server -bootstrap-expect 3 -ui-dir /ui -advertise 10.67.203.217" image: progrium/consul ports: - "10.67.203.217:8300:8300" - "10.67.203.217:8400:8400" - "10.67.203.217:8500:8500" - "10.67.203.217:8301:8301" - "10.67.203.217:8302:8302" - "10.67.203.217:8301:8301/udp" - "10.67.203.217:8302:8302/udp" - "172.17.42.1:53:53/udp" restart: always node2: command: "-server -join 10.67.203.217" image: progrium/consul restart: always node3: command: "-server -join 10.67.203.217" image: progrium/consul restart: always registrator: command: "consul://10.67.203.217:8500" image: "progrium/registrator:latest" restart: always

次のようなメッセージが表示されます。

[ERR] raft: Failed to make RequestVote RPC to 172.17.0.103:8300: dial tcp 172.17.0.103:8300: no route to host

これは明らかに、再起動後にノード 2 と 3 が取得する新しい IP によるものです。それで、これを防ぐことは可能ですか?リンクと環境変数について読みましたが、これらの変数も再起動後に更新されないようです。

0 投票する
1 に答える
390 参照

bash - docker-compose での複数プロセスの実行と順序付けの問題

Zookeeper サーバーと API のブートストラップ プロセス、および docker-compose を使用して API によって Zookeeper サーバーに書き込まれたデータを消費する必要がある別のプロセスを起動しようとしています。

docker-compose up を実行すると、Zookeeper サーバーが正常に起動し、ブートストラップ API が接続してデータを正常に書き込むことができます。

ここでの制約は、API がデータを飼育係に書き込むのを 2 番目のプロセスが待機する必要があることです。それ以外の場合は、それまで API によってノードが作成されないため、例外が発生します。したがって、docker-compose.ml ファイルのコマンド セクションで、bash コマンドを実行し、プログラムが終了しないように while ループを追加してブートストラップ API を無限に実行し、2 番目のプロセスにスリープ ステートメントを追加しました。 API がジョブを完了するまで待機するようにします。(一種の競合状態処理)。

私が理解したことから、docker-compose は docker-compose.yml ファイルの「リンク」を使用して順序付けを処理しますが、起動する必要がある個々のプロセスの状態は処理しません。つまり、最初のプロセスが正常に終了したら、2 番目のプロセスを開始する必要があります。

これが私のdocker-compose.ymlファイルです-

詳細が必要な場合は、お知らせいただければ幸いです。前もって感謝します。

0 投票する
8 に答える
218157 参照

docker - 特定のコンテナのみを docker-compose up

docker-compose.yml複数のコンテナを含む があります。そのうちの 3 つは私のアプリ (クライアント、サーバー、データベース) 用で、残りはさまざまな開発ツール (psql、npm、manage.py など) 用です。実行するとdocker-compose upすべてが開始されますが、主要な 3 つだけを開始する必要があります。指定したリンクのおかげで、これら 3 つだけで開始できますdocker-compose up clientが、出力はその 1 つのコンテナーからのみになります。それで、次のいずれかを行う方法はありますか?

  1. docker-compose にどのコンテナーを開始するかを指示します。docker-compose up
  2. リンクされたすべてのコンテナーから出力を取得するdocker-compose up client
0 投票する
1 に答える
74 参照

directory - Docker は、再起動後にホスト上のディレクトリを再作成します

ホストからコンテナーにディレクトリをマウントする docker-compose を使用して、自分のシステム (ubuntu 14.04) にいくつかのコンテナーを作成しました。これで、ホストを再起動するたびに、コンテナーが存在しなくなっても、これらのディレクトリが再作成されます (したがって、ディレクトリを削除しました)。

例: gitlab-ci のコンテナーがありました

ファイル/ディレクトリを含む

ディレクトリを削除しました

今、

再起動するたびに作成されます。どうすればそれらを取り除くことができますか?

0 投票する
1 に答える
153 参照

django - Docker Compose で Django/PostgreSQL プロジェクトを設定する正しい方法は何ですか?

Docker Compose を使用して Django/PostgreSQL プロジェクトをセットアップおよび構成するための最良の方法を教えてください。

(すべての最新バージョン、python 3.4、django 1.8.1 など)

0 投票する
3 に答える
6660 参照

docker - Docker-compose が boot2docker に正しくインストールまたは実行されない

Windows コンピューターに docker-machine を正常にインストールしました。Windows ボックスで Docker CLI を使用して、boot2docker VM で docker コマンドを実行できます。

私は docker-machine バージョン 0.2.0 と docker 1.6.2 を使用しており、"uname -r" を実行すると VM は "4.0.3-boot2docker" を生成します。

ここで、docker-compose をインストールして、その boot2docker VM を管理したいと考えています。docker-compose は Windows マシンで実行され、docker のように VM を「リモート」で管理しますか? それとも VM 自体にインストールする必要がありますか?

関連するメモとして、次のようにして VM に docker-compose をインストールしようとしました。

これは問題ありませんが、docker-compose を実行しようとすると機能しません。

ファイルは /usr/local/bin にあり、docker とまったく同じ権限を持っています。

足りないものはありますか?

0 投票する
1 に答える
2283 参照

docker - docker-compose でイメージ名を指定するにはどうすればよいですか

ここに私のdocker-composeファイルがあります

docker-compose buildそして、コマンドでイメージを構築しました。

名前付きのイメージを作成するにはどうすればよいですか? 名前のない画像が多すぎたので

DOCKERFILE

docker-compose.yml

ノーネームの画像が多すぎる

0 投票する
3 に答える
1196 参照

apache-kafka - Docker を使用したカフカ

docker に kafkaイメージをインストールしたいので、https://registry.hub.docker.com/u/wurstmeister/kafka/で試してみましたが、コマンド ライン docker pull wurstmeister/kafka に書き込むと、これが得られましたエラー:

誰でも問題を知っていますか?

0 投票する
1 に答える
502 参照

docker - docker 内で docker を実行中にエラーが発生しました

私の開発マシンは OSX です。私は boot2docker を使用して開発用のdockerを実行しています (これを docker -1と呼びます)。私のアプリはdockerコンテナも使用しています(したがって、docker内で実行されているdockerです-これをdocker-2と呼びます)。

通常、開発マシンでdocker-composeを使用してdocker-1を起動します。問題は、私が実行するときです

docker-compose run web /bin/bash

次に、docker-1 bash プロンプトで docker を起動してみます。

サービスドッカーの開始

サービスが開始されたように見え、pid ファイルが作成されますが、停止します。/var/log/docker.log読む:

time="2015-05-21T12:40:23Z" level=warning msg="Udev sync is not supported. This will lead to unexpected behavior, data loss and errors" time="2015-05-21T12:40:23Z" level=error msg="There are no more loopback devices available." time="2015-05-21T12:40:23Z" level=info msg="+job serveapi(unix:///var/run/docker.sock)" time="2015-05-21T12:40:23Z" level=info msg="Listening for HTTP on unix (/var/run/docker.sock)" time="2015-05-21T12:40:23Z" level=fatal msg="Shutting down daemon due to errors: error intializing graphdriver: loopback mounting failed"

そのため、最初はこれはドッカーの問題だと思いました。しかし、docker-1を手動で起動すると、 docker-composeをバイパスして次のように実行します。

docker run --privileged=true -ti ウェブサイト /bin/bash

次に、プロンプト内で docker を起動してみてください。すべてが期待どおりに機能します。

サービスドッカーの開始

成功 - docker が開始され、適切に実行されています!

これは、docker-composeに問題があるか、セットアップに問題がある可能性が高いと思わせます。しかし、私はマニュアルに目を通しましたが、私の目を引くものは何も見ませんでした.

docker-compose.yml

db: image: postgres ports: - "5432" redis: image: redis ports: - "6379" web: privileged: true build: . volumes: - .:/app environment: - A=b ports: - "3001:3000" links: - db - redis