サイトアイコン 上尾市のWEBプログラマーによるブログ

[docker] コンテナのネットワークとは?わかりやすく解説します。

docker

概要

Dockerコンテナを他のコンテナやホストと通信させるためには、コンテナ=コンテナ、コンテナ=ホスト、のネットワークが必要である。

ネットワークには、Dockerがデフォルトで用意しているネットワークとDocker Composeなどでユーザーが作成したネットワークがある。

デフォルトのネットワーク

Dockerはデフォルトで以下の3つのネットワークを作成する。

  1. bridge
    コンテナ間、コンテナ外と通信できるネットワーク
  2. host
    ホストのネットワークをそのまま使う
  3. none
    通信できない

※ 主に使われるのはbridgeだけであり、hostとnoneを使うことはまずない
docker container runでnetworkが指定されなかった場合、bridgeに接続される

bridgeは
「IPで通信する必要がありコンテナ名では通信ができない」
「無関係のコンテナ間で通信できてしまう」
など不便なので、ユーザーが作成したネットワークを利用することが推奨されている。

Docker Composeなどでユーザーが作成したネットワーク

モバイルバージョンを終了