このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Docker基礎】Dockerネットワークの作成と削除

Dockerネットワークの作成と削除
ここでは、Dockerを使用してWordPressコンテナとMySQLコンテナを連携させるためのネットワークの作成と削除方法について詳しく解説します。これまでの章でコンテナの作成や削除、ライフサイクル管理の基本を学びましたが、次のステップとして、複数のコンテナを同時に起動し、コンテナ同士で通信する方法を習得します。特に、WordPressのようなWebアプリケーションを運用する際には、2つのコンテナ(WordPressコンテナとMySQLコンテナ)が連携して動作する必要があります。ここでは、この2つのコンテナを連携させるためのDockerネットワークの作成・削除方法について詳しく見ていきます。

Dockerネットワークの作成と削除
WordPressコンテナとMySQLコンテナが相互に通信できるようにするためには、Dockerネットワークを作成し、両方のコンテナをそのネットワークに所属させる必要があります。ここでは、Dockerネットワークの作成・削除方法と、関連するコマンドについて詳しく解説します。
Dockerネットワークの作成
WordPressとMySQLは、通常のコンテナでは自動的に通信できません。そのため、仮想的なネットワークを作成し、両方のコンテナをそのネットワークに接続することで、コンテナ同士の通信を可能にします。

コマンド構文
docker network create ネットワーク名
コマンドの解説
オプション | 説明 |
---|---|
docker network create | 新しいDockerネットワークを作成します。 |
ネットワーク名 | 作成するネットワークの名前です。任意の名前を指定可能。 |
実行例
docker network create wordpress-network
実行結果の例
PS C:\Users\joeac> docker network create wordpress-network
ba1af6d675c077849ade2b577cacce7f04a63247d8a90286e4cbbfcc2367e7b8
注意点
- ネットワーク名の一意性: ネットワーク名は一意である必要があります。同じ名前のネットワークが既に存在する場合、エラーが発生します。
- デフォルトネットワーク: Dockerにはデフォルトでいくつかのネットワーク(bridge、host、none)が存在しますが、カスタムネットワークを作成することで、より柔軟な通信環境を構築できます。
Dockerネットワークの一覧表示
現在存在するDockerネットワークを一覧表示するには、以下のコマンドを使用します。
コマンドの実行
docker network ls
コマンドの解説
項目 | 説明 |
---|---|
docker network ls | 現在存在するすべてのDockerネットワークを一覧表示します。 |
実行例
PS C:\Users\joeac> docker network ls
NETWORK ID NAME DRIVER SCOPE
39f6126cb9b7 bridge bridge local
dafacbf63b05 host host local
53d52afc6f0c none null local
ba1af6d675c0 wordpress-network bridge local
実行結果の意味
項目 | 説明 |
---|---|
NETWORK ID | ネットワークの一意な識別子。先頭12文字のみで十分です。 |
NAME | ネットワークの名前。作成時に指定した名前が表示されます。 |
DRIVER | ネットワークドライバー。一般的にはbridgeが使用されます。 |
SCOPE | ネットワークのスコープ。通常はlocalです。 |
Dockerネットワークの削除
不要になったDockerネットワークは、以下のコマンドで削除できます。ネットワークを削除する前に、そのネットワークに接続されているコンテナがないことを確認してください。
コマンドの実行
docker network rm ネットワーク名
コマンドの解説
項目 | 説明 |
---|---|
docker network rm | 指定したDockerネットワークを削除します。 |
ネットワーク名 | 削除するネットワークの名前を指定します。任意の名前を指定可能。 |
実行例
docker network rm wordpress-network
実行結果の例
PS C:\Users\joeac> docker network rm wordpress-network
wordpress-network
注意点
- 接続されているコンテナ: ネットワークに接続されているコンテナが存在する場合、ネットワークの削除は拒否されます。削除前に、関連するコンテナを停止・削除する必要があります。
- デフォルトネットワークの削除: デフォルトのbridge、host、noneネットワークは削除できません。
その他のネットワーク関連コマンド
Dockerネットワークには、作成や削除以外にもさまざまな操作が可能です。以下に、よく使用されるネットワーク関連コマンドをまとめます。
コマンド | 内容 |
---|---|
connect | コンテナをネットワークに接続する。 |
disconnect | コンテナをネットワークから切断する。 |
create | ネットワークを作成する。 |
inspect | ネットワークの詳細情報を表示する。 |
ls | ネットワークの一覧を表示する。 |
prune | 現在コンテナがつながっていないネットワークをすべて削除する。 |
rm | 指定したネットワークを削除する。 |
コンテナをネットワークに接続する
既存のコンテナを特定のネットワークに接続するには、以下のコマンドを使用します。
docker network connect ネットワーク名 コンテナ名
実行例
docker network connect wordpress-network wordpress-site
解説
- ネットワーク名: 接続先のネットワークの名前。
- コンテナ名: 接続するコンテナの名前。
コンテナをネットワークから切断する
既存のコンテナを特定のネットワークから切断するには、以下のコマンドを使用します。
docker network disconnect ネットワーク名 コンテナ名
実行例
docker network disconnect wordpress-network wordpress-site
解説
- ネットワーク名: 切断先のネットワークの名前。
- コンテナ名: 切断するコンテナの名前。
ネットワークの詳細情報を表示する
特定のネットワークの詳細情報を表示するには、以下のコマンドを使用します。
docker network inspect ネットワーク名
実行例
docker network inspect wordpress-network
解説
- ネットワーク名: 詳細情報を表示するネットワークの名前。
- 出力内容: ネットワークの設定、接続されているコンテナ、IPアドレス範囲などが表示されます。
Dockerネットワークの作成におけるオプション
通常、Dockerネットワークを作成する際には、特別なオプションを指定することはほとんどありません。しかし、必要に応じて以下のオプションを活用することができます。
オプション | 説明 |
---|---|
--driver | 使用するネットワークドライバーを指定します。デフォルトはbridge です。 |
--subnet | ネットワークのサブネットを指定します。例えば、192.168.1.0/24 |
--gateway | ネットワークのゲートウェイを指定します。 |
使用例
docker network create --driver bridge --subnet 192.168.1.0/24 wordpress-network
解説
--driver bridge
: ブリッジネットワークドライバーを使用してネットワークを作成します。--subnet 192.168.1.0/24
: ネットワークのIPアドレス範囲を指定します。
注意点
- 通常はデフォルト設定で十分ですが、特定のネットワーク構成が必要な場合にオプションを活用します。
- ネットワークのIPアドレス範囲が他のネットワークと重複しないように注意してください。
まとめ
ここでは、WordPressコンテナとMySQLコンテナを連携させるためのDockerネットワークの作成と削除方法について詳しく解説しました。以下のポイントを押さえておきましょう。
- Dockerネットワークの作成:
docker network create
コマンドを使用して、WordPressコンテナとMySQLコンテナが通信できる仮想ネットワークを作成します。 - Dockerネットワークの削除:
docker network rm
コマンドを使用して、不要になったネットワークを削除します。削除前には、ネットワークに接続されているコンテナがないことを確認してください。 - その他のネットワーク操作:
docker network ls
でネットワークの一覧を表示し、docker network inspect
で詳細情報を確認します。また、docker network connect
やdocker network disconnect
を使用して、コンテナをネットワークに接続・切断することができます。 - ネットワークのオプション: 必要に応じて、ネットワーク作成時に
--driver
や--subnet
などのオプションを指定することで、ネットワークの詳細な設定が可能です。
これらの知識を基に、次のコンテンツではMySQLコンテナ起動時のオプションと引数について詳しく解説します。これにより、複数のコンテナを連携させて実用的なWebアプリケーションをDocker上で運用することが可能になります。引き続き、Dockerの学習を進めていきましょう。