2016-07-14 7 views
1

Nginxリバースプロキシを別のコンテナの前に置いておきたい。これらの両方のコンテナを使用して、同じドッキングウィンドウネットワーク上で次のようになります。別のコンテナのリバースプロキシとしてのNGINX - 設定ファイルの設定方法

docker network create my-net 

を、通常、私はその後、容器が上にあるものIP参照して、nginxの設定ファイルでこれを使用するために調べることができます。これをどうやってシームレスにするのですか?私は単一のドッカー作成ファイルを使用することができ、両方のコンテナを同じネットワーク上に持ち、Nginxを正しく設定することができます。

おかげ

答えて

1

独自のネットワークを作成する必要がない場合、同じ作成ファイル内の他のすべてのサービスを認識するプライベートネットワークが作成されます。たとえば、次のように

ドッキングウィンドウ-compose.ymlその後、

version: '2' 
services: 
    php: 
    image: php5.6 
    ...<snip>... 
    nginx: 
    image: nginx:stable-alpine 
    ports: 
    - "443:443" 
    links: 
    - php 
    ...<snip>... 

でnginxの設定:

proxy_pass http://php; 

あなたはnginxののコンブロックにネットワーキングのための "リンク" を指定する必要はありません(すべてのサービス名を認識する必要があります)、コンテナのロード順序を定義するのに役立ちます。

デフォルトでは、あなたのアプリには1つのネットワークが設定されています。各サービスのコンテナは、デフォルトのネットワークに接続し、そのネットワーク上の他のコンテナによって到達可能な の両方であり、コンテナ名と同じホスト名で で検索可能です。

https://docs.docker.com/compose/networking/

+0

感謝!私はこれがエンジンに付属しているinbuilt dnsリゾルバを使用していると推測しています - それはちょうどhttp:// phpを指定する方法です。 nginx.confに? – Zuriar

+0

基本的には、はい。上記のリンクを参照してください。 – ldg

1

は私がAutomated Nginx reverse proxy for docker containers

nginxのプロキシのセットアップコンテナ走行nginxのとドッキングウィンドウ-GENを使用することを推奨します。 docker-genは、nginxのリバースプロキシ設定を生成し、コンテナの起動と停止時にnginxをリロードします。

関連する問題