このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Docker超入門:コンテナ間通信を制御!Dockerで独自ネットワークを作成する手順

コンテナ間通信を制御!Dockerで独自ネットワークを作成する手順
Dockerの面白いところのひとつは、自分専用のネットワークを作って、そこにコンテナを接続できるところなんです。これを使えば、アプリ同士の通信をコントロールしたり、セキュリティを高めたりできます。ここでは、その具体的な手順を紹介していきます。
まずは環境を整理してスッキリさせる
一度古いコンテナやイメージを整理しておくと後の作業が分かりやすいです。コマンドの前に実行中のコンテナがあれば、すべて停止させておきます。
docker system prune -aこれを実行すると、停止済みコンテナや不要なイメージが削除されます。さらに、残っているボリュームも不要なら消しておくと環境がスッキリします。
ステップ1:ネットワークを作成する
独自ネットワークを作るには docker network create コマンドを使います。
docker network create my_network実行すると、ユニークなネットワークIDが発行されます。
出力例
PS C:\Users\joeac> docker network create my_network
f7dbcd67e01ad440c1e16e5d5b18cc218dab04c32066d5bd8192d7d2fd75fac8これで my_network というネットワークが完成しました。
ステップ2:ネットワークを確認する
作ったネットワークが正しく登録されたかを確認するには docker network ls を使います。
docker network ls出力例
PS C:\Users\joeac> docker network ls
NETWORK ID NAME DRIVER SCOPE
ae21e8fb5c4c bridge bridge local
edc5f4ea708e host host local
f7dbcd67e01a my_network bridge local
0b1b4553af27 none null localこのように my_network が表示されれば成功です。
ステップ3:ドライバを選ぶ
Dockerのネットワークにはドライバという仕組みがあって、用途に応じて選択できます。
| ドライバ | 説明 |
|---|---|
| none | ネットワーク接続なし。完全に孤立したコンテナを作るときに便利。 |
| host | ホストと同じネットワークを使う。高速だが分離が効かない。 |
| bridge | デフォルト。コンテナ同士の通信をブリッジし、外部ともやり取りできる。 |
ドライバを指定しない場合は、自動的に bridge が選ばれます。
ステップ4:コンテナをネットワークに接続する
作ったネットワークを使うには、コンテナ起動時に --network オプションを付けます。
docker run -d --name my_container --network=my_network busybox--network オプションは、コンテナを指定した名前のネットワークに関連付けます。これにより、my_container は他の同じネットワークに関連付けられたコンテナと通信できます。

このコマンドの意味を表にまとめるとこんな感じです。
| オプション | 説明 |
|---|---|
| docker run | コンテナを実行するコマンド |
| -d | デタッチモード(バックグラウンド実行) |
| --name my_container | コンテナ名を my_container に指定 |
| --network=my_network | my_network に接続する |
| busybox | 使用するイメージ名 |
出力例
PS C:\Users\joeac> docker run -d --name my_container --network=my_network busybox
Unable to find image 'busybox:latest' locally
latest: Pulling from library/busybox
80bfbb8a41a2: Pull complete
Digest: sha256:d82f458899c9696cb26a7c02d5568f81c8c8223f8661bb2a7988b269c8b9051e
Status: Downloaded newer image for busybox:latest
2bcb409a7168859b7da3f97a014f8564146e5d9543c82be6936af06b62283f8eこれで、my_container は my_network 内のコンテナと通信できるようになります。
ステップ5:ネットワークを削除する
不要になったら、docker network rm で削除しましょう。
docker network rm my_network出力例
PS C:\Users\joeac> docker network rm my_network
my_networkこれで、作成したネットワークがきれいに片付きます。
まとめ
docker network createで独自ネットワークを作れる。docker network lsで作成済みネットワークを確認できる。- コンテナ起動時に
--networkを指定すれば、そのネットワークに参加できる。 - ネットワークは不要になったら
docker network rmで削除できる。
これで、コンテナ間の通信を自在にコントロールできるようになります!
