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

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

公開:
💡 孤島のコンテナたちを「専用海底ケーブル」でつなぐインフラ技術
📌 このページのポイント
コンテナネットワーキング(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の名詞形より「ネットワークを設計・運用する行為」を含む動名詞。コンテナに通信経路を与えることだよ。
← 用語集にもどる