2016-10-04 8 views
5

を構成します。共有コンテナ定義は、nginxのプロキシコンテナ定義がある私のドッキングウィンドウ-構成で

(ポート80を使用しているため)コンテナを毎回停止することなく、どうすればできますか?考え方は:nginx-proxyコンテナが実行されていない場合はこれを実行し、そうでない場合は実行中のコンテナを使用します。

+0

Compose v2仕様を使用していますか? –

+0

はい。 ... [役に立たない文字を書く] ... –

+0

あなたはスクリプトが必要になると思います。何かが好きです:ポート80を使用してpingまたはnginxをチェックし、それがない場合は、ドッカーを作成してnginx-proxyを実行して作成します。 – levi

答えて

-1

すべてのプロジェクトに対して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 
    ... 
+0

これは解決しません元の問題ですが、コードの重複を避けるだけです。 両方のプロジェクトで 'docker-compose up'を実行すると、最初は大丈夫です.2番目は常に" ... 0.0.0.0:80のバインドに失敗しました:ポートは既に割り当てられています "。 さらに、 'extended'キーワードはDocker Compose v3では非推奨です –

関連する問題