
Dockerのネットワークドライバ
Dockerでは、コンテナ間や外部との通信方式を制御するために、用途に応じた ネットワークドライバ が提供されている。主なネットワークドライバには、bridge、host、none、overlay があり、単一ホストでの利用、複数ホスト間通信、外部ネットワークとの直接接続など、利用目的に応じて使い分ける。

| ドライバ | コンテナ間通信 | 外部アクセス |
|---|---|---|
| 【推奨】 bridge(DNS名前解決) | コンテナ名で通信可能 | ポートマッピングが必要 |
| bridge(デフォルト) | IPアドレスで通信可能 | ポートマッピングが必要 |
| host | localhost経由で通信可能 | 直接可能 |
| none | 不可(完全隔離) | 不可(完全隔離) |
| overlay | 可能(複数ホスト間で可能) | 設定次第 |
docker network コマンド
docker network create コマンド
【処理】 ネットワークを作成する
【書式】 docker network create [オプション] N/W名
| オプション | 内容 |
|---|---|
| create -d / --driver 【例】-d overlay | ドライバー指定(デフォルト: bridge) |
| create --subnet 【例】--subnet 10.0.1.0/24 | サブネット指定(CIDR形式) |
| create --gateway 【例】--gateway 10.0.1.1 | ゲートウェイ指定 |
| create --ip-range 【例】--ip-range 10.0.1.0/25 | IPアドレス範囲指定 |
| create --label 【例】--label env=dev | ラベル付与 |
| create --internal | 外部アクセス遮断 |
| create --attachable | 手動接続可能 |
docker network ls コマンド
【処理】 ネットワーク一覧を表示する
【書式】 docker network ls [オプション]
| オプション | 内容 |
|---|---|
| ls -q / --quiet | IDのみ表示 |
| ls -f / --filter 【例】-f driver=bridge | フィルタ条件 |
| ls --format 【例】--format "table {{.Name}}\t{{.Driver}}" | 出力フォーマット指定 |
| ls --no-trunc | 情報を省略しない |
docker network inspect コマンド
【処理】 ネットワークの詳細情報を表示する
【書式】 docker network inspect [オプション] N/W名
| オプション | 内容 |
|---|---|
| inspect -f / --format 【例】-f '{{.Subnet}}' | 出力フォーマット指定 |
| inspect -v / --verbose | 詳細情報表示 |
docker network connect コマンド
【処理】 コンテナをネットワークに接続する
【書式】 docker network connect [オプション] N/W名 コンテナ名
| オプション | 内容 |
|---|---|
| connect --ip 【例】--ip 172.20.0.10 | IPアドレス指定 |
| connect --ip6 【例】--ip6 2001:db8::10 | IPv6アドレス指定 |
| connect --alias 【例】--alias webapp | ネットワークエイリアス |
| connect --link 【例】--link db:database | コンテナリンク(非推奨) |
docker network disconnect コマンド
【処理】 コンテナをネットワークから切断する
【書式】 docker network disconnect [オプション] N/W名 コンテナ名
| オプション | 内容 |
|---|---|
| disconnect -f / --force | 強制切断 |
docker network rm コマンド
【処理】 ネットワークを削除する
【書式】 docker network rm [オプション] N/W名
docker network prune コマンド
【処理】 未使用のネットワークを削除する
【書式】 docker network prune [オプション]
| オプション | 内容 |
|---|---|
| prune -f / --force | 確認なしで削除 |
| prune --filter 【例】--filter "until=24h" | フィルタ条件 |