単一ホスト内での Docker のネットワークの仕組みをまとめてみる。 全体像 まず、Docker のネットワークは以下の図ような構成になっている。 ざっとポイントをまとめるとこんな感じ。 * ホストには docker0 という仮想ブリッジが作成される * コンテナは veth を介して仮想ブリッジに接続される * コンテナ内からは eth0 というNIC があるように見える(実体は veth) * コンテナ内の eth0 には、空いているIPアドレスが自動で割り当てられる(なので、IPアドレスは不定)。 * コンテナからホストの外部に通信するには、NAT(IPマスカレード)が使われる * 単一ホスト上のコンテナ間の通信は、仮想ブリッジを経由して行われる(なので、コンテナ内で見える 172.17.0.0/16 のアドレスを使って通信できる) もう少し詳しく 分からないところを調べてみた。