このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Docker超入門:これだけ覚えればOK!Dockerネットワークの主要コマンドと使い方

これだけ覚えればOK!Dockerネットワークの主要コマンドと使い方

 Dockerを使っていると「コンテナ同士で通信したい」とか「ネットワークを分けてセキュリティを強化したい」といった場面が出てきます。そんなときに便利なのが Dockerネットワーク。でも安心してください!覚えておくべきコマンドは実はそんなに多くありません。ここでは主要コマンドをまとめて紹介します。

まずは環境を整理してスッキリさせる

 一度古いコンテナやイメージを整理しておくと後の作業が分かりやすいです。コマンドの前に実行中のコンテナがあれば、すべて停止させておきます。

docker system prune -a

 これを実行すると、停止済みコンテナや不要なイメージが削除されます。さらに、残っているボリュームも不要なら消しておくと環境がスッキリします。

docker network ls

役割
 利用可能なネットワークの一覧を表示します。どんなネットワークがあるかを確認したいときの基本コマンドです。

コマンド書式

docker network ls [OPTIONS]

出力結果

PS C:\Users\joeac> docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
97ffa7624a4c   bridge    bridge    local
edc5f4ea708e   host      host      local
0b1b4553af27   none      null      local

ポイント

  • bridgehostnone はデフォルトで存在
  • 自分で作ったネットワークもここに表示されます

docker network create

役割
新しいネットワークを作成します。用途に合わせて名前やドライバを指定可能です。

コマンド書式

docker network create [OPTIONS] NETWORK_NAME

実行例

docker network create --driver bridge my_network

主なオプション

オプション説明
--driverネットワークドライバを指定(デフォルトは bridge)
--subnetサブネット範囲を指定
--gatewayゲートウェイIPを指定

出力結果

PS C:\Users\joeac> docker network create --driver bridge my_network
b3a78a1a9dfe96ccab2263e71c5ac5033fcea64467656c649d9e7ef564cb295d

PS C:\Users\joeac> docker network ls
NETWORK ID     NAME         DRIVER    SCOPE
97ffa7624a4c   bridge       bridge    local
edc5f4ea708e   host         host      local
b3a78a1a9dfe   my_network   bridge    local
0b1b4553af27   none         null      local

コンテナを作成してネットワークに接続する

作ったネットワークを使うには、コンテナ起動時に --network オプションを付けます。

docker run -itd --name my_container --network=my_network busybox

出力結果

PS C:\Users\joeac> docker run -itd --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
bd3d6452d7d0f4ad948defd3985342ea73789317a15b30833bdde5855c76f43f

docker network inspect

役割
ネットワークの詳細を確認します。接続中のコンテナやIPアドレスの割り当ても見られます。

コマンド書式

docker network inspect NETWORK_NAME

ポイント

  • JSON形式で詳細が返ってくる。
  • どのコンテナがネットワークにぶら下がっているか確認可能

実行例

docker network inspect my_network

出力結果

PS C:\Users\joeac> docker network inspect my_network
[
    {
        "Name": "my_network",
        "Id": "b3a78a1a9dfe96ccab2263e71c5ac5033fcea64467656c649d9e7ef564cb295d",
        "Created": "2025-10-02T13:33:20.964900948Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv4": true,
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "bd3d6452d7d0f4ad948defd3985342ea73789317a15b30833bdde5855c76f43f": {
                "Name": "my_container",
                "EndpointID": "6144f7ac53d7a630fc64aa55d273aef4b524421582241a14ff6d8825c5f3630c",
                "MacAddress": "ae:fe:13:82:d3:9c",
                "IPv4Address": "172.18.0.2/16",
                "IPv6Address": ""
            }
        },
        "Options": {
            "com.docker.network.enable_ipv4": "true",
            "com.docker.network.enable_ipv6": "false"
        },
        "Labels": {}
    }
]

docker network disconnect

役割
ネットワークからコンテナを切り離します。セキュリティ制御や整理で使えます。

コマンド書式

docker network disconnect NETWORK_NAME CONTAINER_NAME

実行例

docker network disconnect my_network my_container

出力結果

PS C:\Users\joeac> docker network disconnect my_network my_container

docker network connect

役割
既存のコンテナをネットワークに接続します。複数ネットワークに参加させるときに便利です。

コマンド書式

docker network connect NETWORK_NAME CONTAINER_NAME

実行例

docker network connect my_network my_container

動き

  • my_containermy_network に接続されます
  • コンテナは複数のネットワークに所属可能

出力結果

PS C:\Users\joeac> docker network connect my_network my_container

docker network rm

役割
不要になったネットワークを削除します。

コマンド書式

docker network rm NETWORK_NAME

注意点

  • そのネットワークに接続中のコンテナがあると削除できません。
  • 先にコンテナを切り離す必要があります。

実行例

docker network rm my_network

出力結果

PS C:\Users\joeac> docker container stop my_container
my_container

PS C:\Users\joeac> docker network rm my_network
my_network

PS C:\Users\joeac> docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
97ffa7624a4c   bridge    bridge    local
edc5f4ea708e   host      host      local
0b1b4553af27   none      null      local

まとめ

Dockerネットワーク管理でよく使うのはこの6つ!

  • docker network ls → ネットワーク一覧
  • docker network create → 新規ネットワーク作成
  • docker network inspect → 詳細確認
  • docker network connect → コンテナを接続
  • docker network disconnect → コンテナを切断
  • docker network rm → ネットワーク削除

 これさえ押さえておけば、Dockerのネットワーク操作はバッチリです。シンプルだけど強力なので、ぜひ手を動かして試してみてくださいね! 🚀