docker network ls

説明

ネットワークを一覧表示します。

【API 1.21+】このコマンドを使うには、クライアントとデーモン API の両方が、少なくとも 1.21 の必要があります。クライアントとデーモン API のバージョンを調べるには、 docker version コマンドを使います。

使い方

$ docker network ls [OPTIONS]

補足説明

Docker エンジンの 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-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=builtincustombuiltin ネットワークの両方を返します。

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

  • 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 は定義済みネットワーク( bridgenonehost )を表示します。 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 命令を使えばカラム列も同様に表示するかのどちらかです。

以下の例はヘッダ無しのテンプレートを使い、全てのネットワークに対する IDDriver のエントリをコロン( : )で区切って出力します。

$ docker network ls --format "{{.ID}}: {{.Driver}}"
afaaab448eb2: bridge
d1584f8dc718: host
391df270dc66: null

親コマンド

コマンド

説明

docker network

ネットワークを管理

関連コマンド

コマンド

説明

docker network connect

コンテナをネットワークに接続

docker network craete

ネットワーク作成

docker network disconnect

ネットワークからコンテナを切断

docker network inspect

1つまたは複数ネットワークの情報を表示

docker network ls

ネットワーク一覧表示

docker network prune

使用していないネットワークを全て削除

docker network rm

1つまたは複数ネットワークの削除