docker network ls¶
説明¶
ネットワークを一覧表示します。
【API 1.21+】このコマンドを使うには、クライアントとデーモン API の両方が、少なくとも 1.21 の必要があります。クライアントとデーモン API のバージョンを調べるには、 docker version
コマンドを使います。
補足説明¶
Docker エンジンの daemon
が把握している全てのネットワーク一覧を表示します。ネットワークには、複数のホストによるクラスタ上にまたがるネットワークも含まれます。
コマンドの使用例は、以下の 使用例のセクション をご覧ください。
オプション¶
名前, 省略形 |
デフォルト |
説明 |
---|---|---|
|
フィルタの値を指定(例: |
|
|
Go テンプレートを使ってコンテナの出力を整形 |
|
|
出力を省略しない |
|
|
ネットワーク 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-trunk
オプションを使うと、完全なネットワーク 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
)の書式は key=value
のペアです。フィルタを何回もしたい場合は、複数のフラグを使います(例: -filter "foo=bar" --filter "bif=baz"
)。複数のフィルタを指定したら、 OR
(同一条件)フィルタとして連結されます。例えば、 -f type=custom -f type=builtin
は custom
と builtin
ネットワークの両方を返します。
現時点でサポートしているフィルタは、次の通りです。
driver
id (ネットワークID)
label (
label=<キー>
またはlabel=<キー>=<値>
)name(ネットワーク名)
scope (
swarm
|global
|local
)type(
custom
|builtin
)
driver¶
ネットワークが基盤するドライバ名でフィルタします。
以下の例は、 bridge
ドライバに一致するネットワークです。
$ docker network ls --filter driver=bridge
NETWORK ID NAME DRIVER SCOPE
db9db329f835 test1 bridge local
f6e212da9dfd test2 bridge local
id¶
id
フィルタはネットワーク ID の一部もしくは全体と一致します。
以下のフィルタは、コンテナ ID が 63d1ff1f77b0...
文字列に一致する全てのネットワークを表示します。
$ 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)に基づいてフィルタします。
以下の例は 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
フィルタは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 |
|
ネットワーク名 |
|
ネットワーク・ドライバ |
|
ネットワーク範囲( |
|
ネットワーク上で IPv6 を有効化するかどうか |
|
ネットワークが内部用かどうか |
|
ネットワークに割り当てられたラベル全て |
|
ネットワークに指定されたラベルの値。例 |
|
ネットワークが作成された時刻 |
--format
オプションを指定すると、 network ls
コマンドはテンプレートで宣言した通りにデータを出力するか、 table
命令を使えばカラム列も同様に表示するかのどちらかです。
以下の例はヘッダ無しのテンプレートを使い、全てのネットワークに対する ID
と Driver
のエントリをコロン( :
)で区切って出力します。
$ docker network ls --format "{{.ID}}: {{.Driver}}"
afaaab448eb2: bridge
d1584f8dc718: host
391df270dc66: null
関連コマンド¶
コマンド |
説明 |
---|---|
コンテナをネットワークに接続 |
|
ネットワーク作成 |
|
ネットワークからコンテナを切断 |
|
1つまたは複数ネットワークの情報を表示 |
|
ネットワーク一覧表示 |
|
使用していないネットワークを全て削除 |
|
1つまたは複数ネットワークの削除 |
参考
- docker network ls
https://docs.docker.com/engine/reference/commandline/network_ls/