network ls

使い方:  docker network ls [オプション]

ユーザが作成した全てのネットワークを一覧
  -f, --filter=[]       指定した状況に応じて出力をフィルタ
  --help                使い方の表示
  --no-trunc            出力を省略 (truncate) しない
  -q, --quiet           整数値の ID のみ表示

Docker エンジンの daemon が把握している全てのネットワーク一覧を表示します。ネットワークには、複数のホストによるクラスタ上にまたがるネットワークも含まれます。

$ sudo docker network ls
NETWORK ID          NAME                DRIVER
7fca4eb8c647        bridge              bridge
9f904ee27bf5        none                null
cf03ee007fb4        host                host
78b03ee04fc4        multi-host          overlay

--no-trunk オプションを使うと、完全なネットワーク ID を表示します。

docker network ls --no-trunc
NETWORK ID                                                         NAME                DRIVER
18a2866682b85619a026c81b98a5e375bd33e1b0936a26cc497c283d27bae9b3   none                null
c288470c46f6c8949c5f7e5099b5b7947b07eabe8d9a27d79a9cbf111adcbf47   host                host
7b369448dccbf865d397c8d2be0cda7cf7edc6b0945f77d2529912ae917a0185   bridge              bridge
95e74588f40db048e86320c6526440c504650a1ff3e9f7d60a497c4d2163e5bd   foo                 bridge
63d1ff1f77b07ca51070a8c227e962238358bd310bde1529cf62e6c307ade161   dev                 bridge

フィルタリング

フィルタリング・フラグ( -f または --filter )の書式は key=value のペアです。フィルタを何回もしたい場合は、複数のフラグを使います(例: -filter "foo=bar" --filter "bif=baz" )。複数のフィルタを指定したら、 OR (同一条件)フィルタとして連結されます。例えば、 -f type=custom -f type=builtincustombuiltin ネットワークの両方を返します。

現時点でサポートしているフィルタは、次の通りです。

  • ドライバ
  • ID (ネットワークID)
  • ラベル( label=<キー> または label=<キー>=<値>
  • 名前(ネットワーク名)
  • タイプ(custom|builtin)

driver

ネットワークが基盤するドライバ名でフィルタします。

以下の例は、 bridge ドライバに一致するネットワークです。

$ docker network ls --filter driver=bridge
NETWORK ID          NAME                DRIVER
db9db329f835        test1               bridge
f6e212da9dfd        test2               bridge

id

id フィルタはネットワーク ID の一部もしくは全体と一致します。

以下のフィルタは、コンテナ ID が 63d1ff1f77b0... 文字列に一致する全てのネットワークを表示します。

$ docker network ls --filter id=63d1ff1f77b07ca51070a8c227e962238358bd310bde1529cf62e6c307ade161
NETWORK ID          NAME                DRIVER
63d1ff1f77b0        dev                 bridge

次のように ID の部分一致でもフィルタできます。

$ docker network ls --filter id=95e74588f40d
NETWORK ID          NAME                DRIVER
95e74588f40d        foo                 bridge

$ docker network ls --filter id=95e
NETWORK ID          NAME                DRIVER
95e74588f40d        foo                 bridge

ラベル

label フィルタは label だけ、あるいは label と値に一致する条件のネットワークでフィルタします。

以下のフィルタはラベルの値が usage に一致するネットワークを表示します。

$ docker network ls -f "label=usage"
NETWORK ID          NAME                DRIVER
db9db329f835        test1               bridge
f6e212da9dfd        test2               bridge

以下のフィルタは usage ラベルの値が prod の値に一致するネットワークを表示します。

$ docker network ls -f "label=usage=prod"
NETWORK ID          NAME                DRIVER
f6e212da9dfd        test2               bridge

名前

name フィルタはネットワーク名の一部もしくは全体に一致します。

以下のフィルタは foobar 文字列を含む全てのネットワーク名でフィルタします。

$ docker network ls --filter name=foobar
NETWORK ID          NAME                DRIVER
06e7eef0a170        foobar              bridge

次のように、部分一致でもフィルタできます。

$ docker network ls --filter name=foo
NETWORK ID          NAME                DRIVER
95e74588f40d        foo                 bridge
06e7eef0a170        foobar              bridge

タイプ

type フィルタは2つの値をサポートしています。 builtin は定義済みネットワーク( bridgenonehost )を表示します。 custom はユーザ定義ネットワークを表示します。

以下のフィルタはユーザ定義ネットワークを全て表示します。

$ docker network ls --filter type=custom
NETWORK ID          NAME                DRIVER
95e74588f40d        foo                 bridge
63d1ff1f77b0        dev                 bridge

このフラグを指定したら、バッチ処理でクリーンアップできます。例えば、全てのユーザ定義ネットワークを削除するには、次のようにします。

$ docker network rm `docker network ls --filter type=custom -q`

コンテナがアタッチされているネットワークを削除しようとしたら、警告が表示されます。