2016-06-23 12 views
2

:だからホストのネットワークアクセス私は<code>coder-compose</code>設定次まし

version: '2' 
services: 
    nginx: 
     build: ./nginx 
     links: 
      - tomcat1:tomcat1 
      - tomcat2:tomcat2 
      - tomcat3:tomcat3 
     ports: 
      - "80:80" 

    tomcat1: 
     build: ./tomcat 
     ports: 
      - "8080" 

    tomcat2: 
     build: ./tomcat 
     ports: 
      - "8080" 

    tomcat3: 
     build: ./tomcat 
     ports: 
      - "8080" 

を、質問がリンクされた容器(複数可)からホストネットワークへのアクセスを取得する方法を、次のとおりです。tomcat1tomcat2tomcat3 。ここでは図は次のとおりです。

enter image description here

更新 はそう、私の図はあまり役に立ちません。 Nginxはロードバランサ、Tomcat 1-3はアプリケーションノードです。デプロイされたWeb。アプリはインターネットリソースにアクセスする必要があります。

+0

あなたはインターネットからアクセスするために '8080 'というポートを公開することを意味しますか? –

+0

いいえ、私はTomcatサーバーにデプロイされたWebアプリケーションからインターネットにアクセスすることを意味します。 – Eugene

+1

すでにTomcatコンテナーからインターネットにアクセスできます。 –

答えて

0

インターネットアクセスは、デフォルトですべてのコンテナで有効です(ブリッジモード)。プロキシの背後にいる場合は、http(s)_proxy変数が設定されているかどうかを確認するだけです。

コンテナからドッカーホストにアクセスする方法(逆ではなく、ローカルドッカーホストからコンテナにアクセスする方法)について質問がある場合は、コンテナのルーティングテーブルを調べる必要があります:From inside of a Docker container, how do I connect to the localhost of the machine?

export DOCKER_HOST_IP=$(route -n | awk '/UG[ \t]/{print $2}') 

実行中のすべてのコンテナの/etc/hostsのエントリとして追加することdockerhostを追加するために、最近(2016年6月)の努力があります:issue 23177が。

関連する問題