2015-09-23 7 views
6

docker link docs 1つ(すでに実行中)のコンテナにのみリンクして、そのコンテナの内部ポートにアクセスすることができます。2つまたは複数のコンテナへのドッカーネットワークリンク

1つのコンテナを2つ以上の他のコンテナにどのようにリンクできますか? (MongoDBのと私の場合は、別のWebサービス。)

(今私が主催する第二の容器のポートを露出させた後、ホストを経由してアクセスしていますが:ポートを、また、可能な回避策はLet two Containers getting linked to eachotherかもしれません。)

+1

https://stackoverflow.com/questions/30545023/how-to-communicate-between-docker-containers-via-hostname/30550990#30550990 – xuhdev

+2

複数の容器に私は同じことを何度も使ってきました。 –

答えて

2

代わりに、ドッカーのデーモンのコマンドラインに--icc = trueを追加することで、コンテナ間の通信を有効にすることができ、コンテナをリンクする必要はなく、DockerホストのIPアドレスとコンテナの公開ポートを使用してアクセスするだけです。

Docker Networking

14
docker run -d --link node1:node1 --link node2:node2 --link node3:node3 -p hostport:containerport your-image 

私は、上記のコマンドを実行し、それが動作します。

+1

これは受け入れられる回答です –

1

簡単な解決策として、Docker-composeを使用できます。あなたがファイル(docker-compose.yml)を作成する場合は、オプションlinks を別のサービスのコンテナにリンクしてください。サービス名とリンク別名(SERVICE:ALIAS)の両方を指定するか、サービス名だけを指定してください。私はあなたがリンクする複数回--link使うことができますね

container_name: 
links: 
     - node1 
     - node2 
     - node3:alias3 
     - noden 
関連する問題