Docker ブリッジングモードはどのように機能しますか?

Dockerブリッジモードの実現原理は、ホスト上のNICに接続した仮想ブリッジ(bridge)デバイスを作成し、Dockerコンテナをその仮想ブリッジに接続することです。

具体的には次の手順に従います。

  1. Dockerデーモンが起動すると、docker0と呼ばれる仮想ネットワークブリッジデバイスが自動的に作成されます。
  2. Dockerデーモンは作成されるコンテナごとにユニークなIPアドレスを割り当て、コンテナのネットワークインターフェイス(vethペア)をdocker0ブリッジに接続します。
  3. Dockerはコンテナーが起動するとveth pairという仮想イーサネットインターフェイスを作成し、片方のエンドポイントがコンテナー、もう片方のエンドポイントがdocker0ブリッジに接続されます。
  4. Dockerは、コンテナーにIPアドレスを割り当て、そのIPアドレスとそのコンテナーの仮想イーサネットインターフェイスと関連付けます。
  5. Dockerはさらに、コンテナのIPアドレスとホストのdocker0ブリッジとの間でNAT変換を行うために、iptablesのルールをホスト上に作成します。これにより、コンテナが外部ネットワークと通信できるようになります。

これにより、Docker のブリッジモードではコンテナと外部ネットワークの通信が実現するとともに、コンテナ間の通信も実現されるようになります。コンテナは docker0 ブリッジを介してホストマシンやほかのコンテナと通信でき、また、ホストマシンやほかのコンテナも docker0 ブリッジを介してコンテナと通信できます。

bannerAds