問題タブ [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 投票する
2 に答える
5066 参照

docker - Docker Compose はポートをバインドしません

コンテナ用に次の Dockerfile があります。

このコンテナーをビルドし、イメージをdocker run -i -t -p 8080:8080 -v /srv/source:/usr/src/app -w /usr/src/app --rm iojs-dev bash. Docker は、クライアントから iojs アプリケーションにアクセスできるように、ポート 8080 をホスト ポート 8080 にバインドします。すべて正常に動作します。

次に、次の docker-compose.yml を使用して、docker-compose でコンテナーを開始します。

今実行するdocker-compose run webfrontend bashと、ホストのポート 8080 にアクセスできません。ポートはバインドされていません。の結果は空であり、ポート設定でdocker portsの結果も空です:docker inspect

0 投票する
2 に答える
6733 参照

docker - 「docker-compose up」は毎回イメージをプルするのではなく、プルしたイメージを再作成します

Dockerfile次の内容の があります。

を実行するdocker-compose up -dと、Docker がイメージをプルしてステップを実行します。

a を実行しdocker-compose stopて元に戻すと、docker-compose は最新のイメージを再度プルしません。新しいイメージをダウンロードする必要があるため、これは私にとって問題です。これを行う唯一の方法は、boot2docker vm を爆破して最初からやり直すことです。

0 投票する
7 に答える
120245 参照

docker - docker-compose でホスト IP を使用する

さまざまなサーバーで実行できるdocker-composeファイルを作成したいと考えています。

そのためには、 docker-compose.ymlのいくつかの場所で、サーバー (すべてのコンテナーが実行されている場所) のホスト IP またはホスト名を指定できる必要があります。

たとえば、仲間の領事コンテナがサーバーを見つける方法を定義したい領事コンテナの場合。

明らかに 192.168.1.125 をハードコーディングしたくありません。

env_file :を使用 してホスト名または IP を指定し、それをすべてのサーバーに適用できるので、その情報を 1 か所にまとめて docker-compose.yml で使用します。ただし、これは環境変数を指定するためにのみ使用でき、advertise パラメーターには使用できません。

より良い解決策はありますか?

0 投票する
4 に答える
203318 参照

docker - --add-host または extra_hosts を docker-compose で使用する

私はdocker-compose、約 5 つの異なるコンテナーで構成されるテスト環境を実行するために使用しています。コンテナ間のリンクと共有ボリューム (volumes-from) は素晴らしく機能します。また、いくつかのポートをホスト マシンに公開します。これはうまく機能します。

私が見逃しているのは、IP アドレスをハードコーディングせずに、実サーバーの一部をこの環境にリンクする方法です。では、ファイルに別の行を追加するためにdocker run使用できます。docker-compose で同様のことを行う方法はありますか?--add-host/etc/hosts

0 投票する
30 に答える
300658 参照

docker - docker-compose から docker に接続できない

Mac OS 10.8.5 に docker-machine 0.1.0 と docker-compose 1.1.0 をインストールしました。
Docker-machine は正常に動作しており、docker-machine ssh で接続できます。

ただし、docker-compose からは接続できません。

http+unix://var/run/docker.sock で Docker デーモンに接続できませんでした - 実行されていますか?

標準以外の場所にある場合は、DOCKER_HOST 環境変数で URL を指定します。

私の Dockerfile と docker-compose.yml はこちらです。

Dockerfile

docker-compose.yml

なぜ接続できないのですか?何か案は?

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

docker - docker-compose コマンドと手動コマンドの違い

私がやろうとしていること

ある docker コンテナーで yesod Web アプリケーションを実行し、別の docker コンテナーの postgres データベースにリンクしたいと考えています。

私が試したこと

次のファイル階層があります。

は次のdocker-compose.ymlようになります。

実行sudo docker-compose upすると、API コンテナの起動にまったく失敗するか、または同じ頻度で次のエラーが発生します。

ただし、実行すると、sudo docker-compose database up &作成を使用せずに API コンテナーを起動し、代わりに

ファイルexportに設定されている環境変数docker-compose.ymlを手動で実行yesod develして、ローカルホストで自分のサイトに正常にアクセスできます。

最後に、単独で実行すると、3 番目の異なる動作が得sudo docker-compose run apiられます。これは正常に開始されたようですが、ブラウザでページにアクセスできません。実行sudo docker-compose run api /bin/bashすることで、このコンテナーを調べることができ、設定されている環境変数docker-compose.ymlがすべて正しく設定されていることを確認できました。

望ましい動作

バックグラウンドでデータベースを実行してから、実行するだけで API コンテナーのシェルに環境を手動で設定して得た結果を得たいと考えていますsudo docker-compose up

質問

明らかに、私が試みている 3 つの異なるアプローチは、わずかに異なることを行います。しかし、docker と docker-compose についての私の理解からすると、それらは本質的に同等であると期待できます。誰かがどのように、なぜそれらが異なるのか、可能であればどのように私が望む結果を達成できるのかを説明してもらえますか?

0 投票する
2 に答える
76558 参照

docker - docker-compose yml ファイルの検証

dockerを適切に実行しなくても、docker-composeファイル(docker-compose.yml別名)の構文などを確認する簡単な方法はありますか?fig.yml

構成ファイルを検証するために、ビルド/テスト パイプラインにクイック チェックを追加しようとしています。