2017-06-18 5 views
2

コンテナを実行しているときに、--network引数を設定できます。その値は、docker network lsの結果から任意の値に設定できます。私はこの使用方法を探索したが何のドキュメントを持っていない`docker run --network = container:CONTAINERID`はどういう意味ですか?

$ docker run --network=container:CONTAINERID IMAGE 

それを説明する:
しかし、私はこのようないくつかの実行コンテナがあることを見てきました。

私はいくつかの実験を行い、別のコンテナのネットワークを使用しているコンテナが同じネットワークスタックを共有していることがわかりました.2つのコンテナは同じhostにあり、互いにlocalhostを使用して呼び出すことができます。

したがって、--network=container:CONTAINERIDを設定してコンテナを実行すると、2つのコンテナが同じネットワークスタックを共有していることを意味しますか?

答えて

0

新しいコンテナには同じネットワークの名前空間が指定されています。これはCONTAINERIDです。だから、同じネットワークスタック。あなたが特定したように、これは、コンテナがローカルホストを介して互いに連絡できることを意味します。つまり、各コンテナには名前空間内に一意のポートが必要となるため、ポートマッピングに注意する必要があります。

docker runreference hereに記載されています。

--network="bridge" : Connect a container to a network 
         'bridge': create a network stack on the default 
         Docker bridge 
         'none': no networking 
      # -----> 'container:<name|id>': reuse another container's 
         network stack 
         'host': use the Docker host network stack 
         '<network-name>|<network-id>': connect to a 
         user-defined network 
+0

これが表示されます。ありがとうございました。 – flyer

関連する問題