このページで解説している内容は、以下の 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の学習を進めていきましょう。
