【コンテナネットワーキング】

コンテナネットワーキング とは?

💡 孤島のコンテナたちを「専用海底ケーブル」でつなぐインフラ技術
📌 このページのポイント
コンテナネットワーキング(Bridge モード) Host OS 仮想ブリッジ(docker0) コンテナ A 172.17.0.2 web:80 コンテナ B 172.17.0.3 db:5432 コンテナ C 172.17.0.4 cache:6379 外部ネットワーク(ポートマッピング経由) 名前で通信: db:5432
コンテナ間の仮想ブリッジによる通信イメージ
ひよこ ひよこ

コンテナネットワーキングって何? コンテナ同士は普通につながってるんじゃないの?

ペンギン先生 ペンギン先生

コンテナデフォルトで隔離されたネットワーク空間に閉じ込められてるんだよ。コンテナ同士や外部と通信するには、専用の仮想ネットワークを設定する必要があるんだ。

ひよこ ひよこ

仮想ネットワークって具体的にどんな種類があるの?

ペンギン先生 ペンギン先生

Dockerでは代表的なものが3つあるよ。コンテナをホストの仮想スイッチにつなぐ「bridge」、ホストのネットワークを直接使う「host」、ネットワークを完全に無効にする「none」だね。

ひよこ ひよこ

複数のコンテナが会話するときはbridgeを使うの?

ペンギン先生 ペンギン先生

そうだよ。同じブリッジネットワークにいるコンテナコンテナ名でお互いを名前解決できるんだ。docker-composeを使うと自動でブリッジが作られるよ。

ひよこ ひよこ

KubernetesDockerと違うの?

ペンギン先生 ペンギン先生

Kubernetesは「すべてのPodが追加設定なしで互いに通信できる」という設計思想があるよ。CNI(Container Network Interface)というプラグイン仕様でネットワーク実装を差し替えられるようにしてあるんだ。

ひよこ ひよこ

CNIって何者? いろんな実装があるの?

ペンギン先生 ペンギン先生

CalicoやFlannelやCiliumなど多くの実装があるよ。CiliumeBPFを使った高性能な実装として最近注目されてるね。セキュリティポリシートラフィック可視化も備えてるんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「コンテナネットワーキング」って出てきたら「コンテナ同士・外部との通信を管理する仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Container Networking」 = コンテナネットワーク構成
💬 Networkingは単なるNetworkの名詞形より「ネットワークを設計・運用する行為」を含む動名詞。コンテナに通信経路を与えることだよ。
← 用語集にもどる