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=builtincustombuiltin の 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 はあらかじめ定義されているネットワーク(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 create ネットワークを生成します。
docker network disconnect ネットワークからコンテナーを切断します。
docker network inspect 1 つまたは複数ネットワークの詳細情報を表示します。
docker network ls ネットワークを一覧表示します。
docker network prune 未使用のネットワークをすべて削除します。
docker network rm 1 つまたは複数のネットワークを削除します。