を構成します。共有コンテナ定義は、nginxのプロキシコンテナ定義がある私のドッキングウィンドウ-構成で
(ポート80を使用しているため)コンテナを毎回停止することなく、どうすればできますか?考え方は:nginx-proxy
コンテナが実行されていない場合はこれを実行し、そうでない場合は実行中のコンテナを使用します。
を構成します。共有コンテナ定義は、nginxのプロキシコンテナ定義がある私のドッキングウィンドウ-構成で
(ポート80を使用しているため)コンテナを毎回停止することなく、どうすればできますか?考え方は:nginx-proxy
コンテナが実行されていない場合はこれを実行し、そうでない場合は実行中のコンテナを使用します。
すべてのプロジェクトに対して1つのnginxを持つことができます。その場合は、あなたが持っているonly_nginx /ドッキングウィンドウ-compose.ymlファイル] nginxのサービスを持っているし、あなたのすべてのプロジェクトのドッキングウィンドウ・コンファイルに
projectx_service:
extends:
file: /path_to/only_nginx/docker-compose.yml
service: nginx-proxy
...
にブロックのこの種を使用する必要があります。
例:
only_nginx /ドッカー-compose.yml:
nginx-proxy:
image: jwilder/nginx-proxy
ports:
- "80:80"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
Project1の/ドッカー-compose.yml
project1_service:
extends:
file: /path_to/only_nginx/docker-compose.yml
service: nginx-proxy
...
のProject2 /ドッカー-構成します。 yml
project2_service:
extends:
file: /path_to/only_nginx/docker-compose.yml
service: nginx-proxy
...
これは解決しません元の問題ですが、コードの重複を避けるだけです。 両方のプロジェクトで 'docker-compose up'を実行すると、最初は大丈夫です.2番目は常に" ... 0.0.0.0:80のバインドに失敗しました:ポートは既に割り当てられています "。 さらに、 'extended'キーワードはDocker Compose v3では非推奨です –
Compose v2仕様を使用していますか? –
はい。 ... [役に立たない文字を書く] ... –
あなたはスクリプトが必要になると思います。何かが好きです:ポート80を使用してpingまたはnginxをチェックし、それがない場合は、ドッカーを作成してnginx-proxyを実行して作成します。 – levi