サーチ…


前書き

入門

ブリッジモードデフォルトで、docker0ブリッジに接続されています。コンテナを完全に別のネームスペースに置く。

ホストモードコンテナがホスト上で実行されているプロセスの場合、コンテナをホストNICに接続します。

マップされたコンテナモードこのモードは、基本的に新しいコンテナを既存のコンテナネットワークスタックにマップします。コンテナモードのコンテナとも呼ばれます。

なしこれは、ドッカーが設定なしでコンテナを独自のネットワークスタックに配置するように指示します

ブリッジモード、ホストモード、およびマップされたコンテナモード

ブリッジモード

$ docker run –d –-name my_app -p 10000:80 image_name

これがdockerのデフォルトの作業モードであるため、 -net = bridgeを指定する必要はありませんでした。これにより、ダイナミックポートを割り当てなくても、複数のコンテナを同じホスト上で実行することができます。したがって、 BRIDGEモードはポートの衝突を防ぎ、各コンテナが独自のプライベートネットワークネームスペースを実行しているので安全です。

ホストモード

$ docker run –d –-name my_app –net=host image_name

ホストネームスペースを使用するため、特別な設定は必要ありませんが、セキュリティ上の問題が発生する可能性があります。

マップされたコンテナモード

このモードは基本的に新しいコンテナを既存のコンテナネットワークスタックにマップします。これは、第1のコンテナのIPアドレスおよびポートマッピングなどのネットワークリソースが、第2のコンテナによって共有されることを意味する。これは「コンテナのコンテナ」モードとも呼ばれます。 web_container_1とweb_container_2の2つのコンカイナーがあり、マップコンテナモードでweb_container_2を実行するとします。最初にweb_container_1をダウンロードして、次のコマンドでデタッチモードにしてみましょう。

$ docker run -d --name web1 -p 80:80 USERNAME/web_container_1

ダウンロードが完了したら、見てみましょう。ここでは、既定のブリッジモードで動作しているコンテナにポートをマップしました。さて、マップコンテナモードで2番目のコンテナを実行しましょう。このコマンドでこれを行います。

$ docker run -d --name web2 --net=container:web1 USERNAME/web_container_2

今、両方の関係者のインターフェース情報を取得すれば、同じネットワーク設定を得ることができます。これには実際にホストの正確な情報をマップするHOSTモードが含まれています。最初のcontaienrはデフォルトブリッジモードで実行され、2番目のコンテナはマップコンテナモードで実行されています。最初のコンテナをホストモードで、2番目のコンテナをマップされたコンテナモードで開始することによって、非常によく似た結果が得られます。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow