
Docker超入門:Dockerのネットワークの全体像:NIC・仮想インターフェース・ブリッジの関係
Dockerを使ってコンテナを動かすとき、裏側では「ネットワークの仕組み」がしっかりと組み立てられています。特に重要なのが、NIC(ネットワークインターフェースコントローラ)、仮想インターフェース、そしてブリッジ接続の3つです。ここではそれぞれの役割を整理しながら、Dockerのデフォルトである「ブリッジネットワークモード」の全体像をわかりやすく解説します。

NIC (Network Interface Controller)
NICはコンピュータがネットワークと接続するためのハードウェアデバイスです。Linuxシステムでは eth0 や eth1、無線であれば wlan0 といった名前で認識されます。Dockerを動かすホストマシンも、まずは物理NICを通じてLANやインターネットに接続しています。
| 項目 | 説明 |
|---|---|
| NICとは | ネットワークに接続するためのハードウェア |
| Linuxでの名称 | eth0, eth1, wlan0 など |
| Dockerでの役割 | ホストOSが外部ネットワークと通信する窓口 |
ブリッジ接続とは
ブリッジは、異なるネットワークをつなぐ仕組みで、あたかも1つのネットワークに見せかけます。これには2種類があります。
| 種類 | 説明 |
|---|---|
| ソフトウェア的なブリッジ | OSのカーネル機能で提供される。Linuxの bridge モジュールなど。Dockerの docker0 もここに該当。 |
| ハードウェア的なブリッジ | 物理スイッチやルーターなどで実現。データセンターのネットワーク機器が典型例。 |
Dockerはソフトウェア的なブリッジを利用して、コンテナ同士やホストとコンテナをつないでいます。
Dockerのブリッジネットワークモード
Dockerにはいくつかのネットワークモードがありますが、もっとも一般的でデフォルトのものが ブリッジモード です。このモードでは以下の要素が登場します。
| 要素 | 説明 |
|---|---|
| docker0(ブリッジ) | Dockerデーモン起動時に自動で作成される仮想ブリッジ。ホストのNICとコンテナの仮想インターフェースをつなぐ役割を持つ。 |
| コンテナのeth0(仮想インターフェース) | 各コンテナが持つ独自のNIC。ホストOSが生成した仮想NICに接続され、docker0ブリッジ経由で通信する。 |
| プライベートIPアドレス | コンテナごとにDockerが割り当てる。例:172.17.x.x のようなアドレスがよく使われる。 |
| NAT | コンテナから外部へ通信するときは、ホストのIPアドレスに変換されて外へ出る。外部から直接コンテナへはアクセスできない。 |
通信の流れを整理
- ホストの物理NIC(eth0など)がLANやインターネットに接続
- Dockerが自動で作る docker0 ブリッジ がホストとコンテナを仲介
- 各コンテナは独自の 仮想NIC(eth0) を持ち、docker0にぶら下がる。
- コンテナ同士はプライベートIPで直接通信可能
- 外部への通信は NAT を通してホストのIPから発信される。
図で理解するDockerネットワーク
コンテナ・ブリッジ・NICの関係が直感的に理解できます。

まとめ
Dockerのブリッジネットワークモードでは、
- ホストのNIC が外部との通信を担い、
- docker0ブリッジ がコンテナとホストをつなぎ、
- 各コンテナの仮想インターフェース が内部の通信を担当しています。
さらにNATによって、外部からは見えないプライベートIPを持つコンテナが、ホストのIPを借りて外に出ていきます。この仕組みによって、コンテナは安全かつ柔軟にネットワークへ接続できるようになっているのです。
