docker network ls
読む時間の目安: 5 分
説明
ネットワークを一覧表示します。
API 1.21 以上
このコマンドを利用するには、クライアントとデーモンの API はともに、最低でも
1.21
である必要があります。
クライアント上においてdocker version
コマンドを実行して、クライアントとデーモンの API バージョンを確認してください。
利用方法
$ docker network ls [オプション]
追加説明
Engine の daemon
が管理するネットワークすべてを一覧表示します。
クラスター内の複数ホストにわたって展開されているネットワークを含みます。
本コマンドの利用例については、以下に示す 利用例の節 を参照してください。
オプション
名前/省略形 | デフォルト | 説明 |
--filter , -f |
フィルター値を指定します。(たとえば 'driver=bridge') | |
--format |
Go 言語テンプレートを使って出力をフォーマットします。 | |
--no-trunc |
詳細出力を行います。 | |
--quiet , -q |
ネットワーク ID のみを表示します。 |
利用例
ネットワークの全一覧
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
7fca4eb8c647 bridge bridge local
9f904ee27bf5 none null local
cf03ee007fb4 host host local
78b03ee04fc4 multi-host overlay swarm
--no-trunc
オプションを指定すると、ネットワーク ID を全表示します。
$ docker network ls --no-trunc
NETWORK ID NAME DRIVER SCOPE
18a2866682b85619a026c81b98a5e375bd33e1b0936a26cc497c283d27bae9b3 none null local
c288470c46f6c8949c5f7e5099b5b7947b07eabe8d9a27d79a9cbf111adcbf47 host host local
7b369448dccbf865d397c8d2be0cda7cf7edc6b0945f77d2529912ae917a0185 bridge bridge local
95e74588f40db048e86320c6526440c504650a1ff3e9f7d60a497c4d2163e5bd foo bridge local
63d1ff1f77b07ca51070a8c227e962238358bd310bde1529cf62e6c307ade161 dev bridge local
フィルター検索
フィルターフラグ(-f
または --filter
)の指定書式は「キー=値」というものです。
複数のフィルターが必要な場合は、フラグを複数指定します。
(たとえば --filter "foo=bar" --filter "bif=baz"
など。)
複数のフィルターフラグは OR
フィルターとして結合されます。
たとえば -f type=custom -f type=builtin
は custom
と builtin
の 2 つのネットワークを返します。
現在サポートされているフィルターは以下のとおりです。
- driver
- id (ネットワーク id)
- label (
label=<key>
またはlabel=<key>=<value>
) - name (ネットワーク名)
- scope (
swarm|global|local
) - type (
custom|builtin
)
Driver フィルター
driver
フィルターは、ドライバーに対応するネットワークを検索します。
以下の例は、bridge
ドライバーを利用するネットワークが検索されます。
$ docker network ls --filter driver=bridge
NETWORK ID NAME DRIVER SCOPE
db9db329f835 test1 bridge local
f6e212da9dfd test2 bridge local
id フィルター
id
フィルターは、ネットワーク ID の全部または一部を検索します。
以下のフィルター指定では、63d1ff1f77b0...
という文字列を ID に含んだネットワークすべてが検索されます。
$ docker network ls --filter id=63d1ff1f77b07ca51070a8c227e962238358bd310bde1529cf62e6c307ade161
NETWORK ID NAME DRIVER SCOPE
63d1ff1f77b0 dev bridge local
ID の部分文字列を指定することも可能です。 以下がその例です。
$ docker network ls --filter id=95e74588f40d
NETWORK ID NAME DRIVER SCOPE
95e74588f40d foo bridge local
$ docker network ls --filter id=95e
NETWORK ID NAME DRIVER SCOPE
95e74588f40d foo bridge local
label フィルター
label
フィルターは、label
だけが存在する、あるいは label
とその値が存在するネットワークを検索します。
以下の例では usage
ラベルを持ったネットワークを抽出します。
この場合、その値の内容は問いません。
$ docker network ls -f "label=usage"
NETWORK ID NAME DRIVER SCOPE
db9db329f835 test1 bridge local
f6e212da9dfd test2 bridge local
以下の例では usage
ラベルに prod
という値を持つネットワークが抽出されます。
$ docker network ls -f "label=usage=prod"
NETWORK ID NAME DRIVER SCOPE
f6e212da9dfd test2 bridge local
name フィルター
name
フィルターは、ネットワーク名の全部または一部を検索します。
以下のフィルター指定では、foobar
という文字列を名前に含んだネットワークすべてが検索されます。
$ docker network ls --filter name=foobar
NETWORK ID NAME DRIVER SCOPE
06e7eef0a170 foobar bridge local
名前の部分文字列を指定することも可能です。 以下がその例です。
$ docker network ls --filter name=foo
NETWORK ID NAME DRIVER SCOPE
95e74588f40d foo bridge local
06e7eef0a170 foobar bridge local
scope フィルター
scope
フィルターは、ネットワークのスコープ(scope)を検索します。
以下の例では、swarm
スコープのネットワークが検索されます。
$ docker network ls --filter scope=swarm
NETWORK ID NAME DRIVER SCOPE
xbtm0v4f1lfh ingress overlay swarm
ic6r88twuu92 swarmnet overlay swarm
以下の例では、local
スコープのネットワークが検索されます。
$ docker network ls --filter scope=local
NETWORK ID NAME DRIVER SCOPE
e85227439ac7 bridge bridge local
0ca0e19443ed host host local
ca13cc149a36 localnet bridge local
f9e115d2de35 none null local
type フィルター
type
フィルターは 2 つの値をサポートします。
builtin
はあらかじめ定義されているネットワーク(bridge
、none
、host
)を表示します。
custom
はユーザー定義のネットワークを表示します。
以下のフィルター指定は、ユーザー定義のネットワークを検索します。
$ docker network ls --filter type=custom
NETWORK ID NAME DRIVER SCOPE
95e74588f40d foo bridge local
63d1ff1f77b0 dev bridge local
このフラグを使って、バッチ的に削除処理ができます。 たとえばこのフィルターにより、ユーザー定義ネットワークをすべて削除します。
$ docker network rm `docker network ls --filter type=custom -q`
コンテナーがアタッチされたままのネットワークを削除しようとすると、警告が表示されます。
フォーマット設定
フォーマット設定オプション(--format
)により Go 言語のテンプレートを利用して、ネットワークをわかりやすく出力することができます。
Go 言語テンプレートによるプレースホルダー(placeholder)は以下のとおりです。
プレースホルダー | 内容説明 |
---|---|
.ID |
ネットワーク ID。 |
.Name |
ネットワーク名。 |
.Driver |
ネットワークドライバー。 |
.Scope |
ネットワークのスコープ。(local、global) |
.IPv6 |
ネットワークにて IPv6 が有効化どうか。 |
.Internal |
内部ネットワークかどうか。 |
.Labels |
ネットワークに割り当てられているすべてのラベル。 |
.Label |
ネットワークにおける特定ラベルの値。たとえば {{.Label "project.version"}} など。 |
.CreatedAt |
ネットワークの生成時刻。 |
--format
オプションを利用すると network ls
コマンドは、テンプレートが定めるデータを直接出力します。
また table
ディレクティブを利用すると、カラムヘッダーも同時に出力されます。
以下は、ヘッダーを含めずにテンプレートを利用する例であり、すべてのネットワークにおける ID
、Driver
の各項目がコロン(:
)で区切って表示されます。
$ docker network ls --format "{{.ID}}: {{.Driver}}"
afaaab448eb2: bridge
d1584f8dc718: host
391df270dc66: null
上位コマンド
コマンド | 説明 |
---|---|
docker network | ネットワークを管理します。 |
関連コマンド
コマンド | 説明 |
docker network connect | コンテナーをネットワークに接続します。 |
docker network create | ネットワークを生成します。 |
docker network disconnect | ネットワークからコンテナーを切断します。 |
docker network inspect | 1 つまたは複数ネットワークの詳細情報を表示します。 |
docker network ls | ネットワークを一覧表示します。 |
docker network prune | 未使用のネットワークをすべて削除します。 |
docker network rm | 1 つまたは複数のネットワークを削除します。 |