2016-10-20 15 views
2

nginxとdocker composeをapiゲートウェイ/リバースプロキシ/ ssl終了ポイントとして使用することが可能かどうかを知りたいのですが、その背後にあるコンテナのポートは公開されません。私。私は、過去のnginxと通信するためにコンテナがリンクされているときに、ドッカーが作成したイントラネットのみを使用したい。理想的には、公的にアクセス可能な唯一のポートは、nginxのポート443(ssl)です。これは実行可能ですか?あるいは私のコンテナにポートを公開する必要がありますか?nginxリバースプロキシを使用して、ポートを公開せずにドッカーコンテナに使用できますか?

答えて

2

はいできます。

同じdocker-compose.yml内の両方のアプリケーションを1つのコンテナに、nginxを別のコンテナに定義するだけです。それらをリンクしてください。そして、nginxコンテナの443ポートだけを公開します。

ドッキングウィンドウ-compose.yml

nginx: 
    image: nginx 
    links: 
     - node1:node1 
     - node2:node2 
     - node3:node3 
    ports: 
     - "443:443" 
node1: 
    build: ./node 
node2: 
    build: ./node 
node3: 
    build: ./node 

さらに詳しい情報:http://anandmanisankar.com/posts/docker-container-nginx-node-redis-example/

よろしく

+0

ねえカルロス、迅速な対応に感謝します。このシナリオでは、nginx.confファイルはどのように見えますか? host:portなしでアップストリームノード1,2,3へのトラフィックをどのようにプロキシしますか? –

+0

:-S私はドッカーのconectivityについてのみ知っています。私はこれをnginxとdockerレジストリの間で一度設定しましたが、他の誰かがnginx設定を行いました。私はこのガイドをお勧めします:http://anandmanisankar.com/posts/docker-container-nginx-node-redis-example/あなたが探しているものの完全な例です。 –

+0

コロンのないポートを置いた場合でも、まだ公開されていますか?私は前にそのガイドを見て、それらが内部または外部のポートであるかどうか疑問に思っていた –

関連する問題