Docker 网络 LS

描述列出网络
用法docker network ls [OPTIONS]
别名
docker network list

描述

列出 Engine 知道的所有网络。这包括 跨集群中多个主机的网络。daemon

选项

选择违约描述
-f, --filter提供筛选条件值(例如driver=bridge)
--format使用自定义模板格式化输出:
'table':以带有列标题的表格格式打印输出(默认)
'table TEMPLATE':使用给定的 Go 模板
以表格格式打印输出'json':以 JSON 格式
打印'TEMPLATE':使用给定的 Go 模板打印输出。
有关使用模板设置输出格式的更多信息,请参阅 https://docs.docker.com/go/formatting/
--no-trunc不截断输出
-q, --quiet仅显示广告联盟 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

使用选项显示完整的网络 ID:--no-trunc

$ 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

筛选 (--filter)

筛选标志 ( 或 ) 格式是一对。如果有 是多个过滤器,则传递多个标志(例如 )。 多个过滤器标志将合并为一个过滤器。例如,返回 both 和 networks。-f--filterkey=value--filter "foo=bar" --filter "bif=baz"OR-f type=custom -f type=builtincustombuiltin

当前支持的筛选器包括:

  • 司机
  • id(网络的 ID)
  • label ( 或label=<key>label=<key>=<value>)
  • name (网络名称)
  • 范围 (swarm|global|local)
  • 类型 (custom|builtin)

司机

筛选器根据其驱动程序匹配网络。driver

以下示例将 networks 与驱动程序匹配:bridge

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

身份证

筛选条件匹配全部或部分广告联盟的 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

标签

过滤器根据 a 单独或 a 和 a 的存在来匹配网络 价值。labellabellabel

以下筛选条件匹配具有标签的网络,而不管其值如何。usage

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

以下筛选条件匹配标签为 值为 的网络。usageprod

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

名字

筛选条件将匹配网络名称的全部或部分内容。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

以下示例将 networks 与 scope:swarm

$ docker network ls --filter scope=swarm
NETWORK ID          NAME                DRIVER              SCOPE
xbtm0v4f1lfh        ingress             overlay             swarm
ic6r88twuu92        swarmnet            overlay             swarm

以下示例将 networks 与 scope: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

类型

筛选器支持两个值; 显示预定义的网络 (, , ),而显示用户定义的网络。typebuiltinbridgenonehostcustom

以下筛选条件匹配所有用户定义的网络:

$ 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)

格式选项 () pretty-prints networks 输出 使用 Go 模板。--format

下面列出了 Go 模板的有效占位符:

占 位 符描述
.ID网络 ID
.Name网络名称
.Driver网络驱动程序
.Scope网络范围 (本地、全球)
.IPv6网络上是否启用了 IPv6。
.Internal网络是否为内部网络。
.Labels分配给网络的所有标签。
.Label此网络的特定标签的值。例如{{.Label "project.version"}}
.CreatedAt创建网络的时间

使用该选项时,该命令将 完全按照模板声明的方式输出数据,或者在使用指令时,还包括列标题。--formatnetwork lstable

以下示例使用不带标头的模板,并输出所有网络的 and 条目(以冒号 () 分隔):IDDriver:

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

要以 JSON 格式列出所有网络,请使用指令:json

$ docker network ls --format json
{"CreatedAt":"2021-03-09 21:41:29.798999529 +0000 UTC","Driver":"bridge","ID":"f33ba176dd8e","IPv6":"false","Internal":"false","Labels":"","Name":"bridge","Scope":"local"}
{"CreatedAt":"2021-03-09 21:41:29.772806592 +0000 UTC","Driver":"host","ID":"caf47bb3ac70","IPv6":"false","Internal":"false","Labels":"","Name":"host","Scope":"local"}
{"CreatedAt":"2021-03-09 21:41:29.752212603 +0000 UTC","Driver":"null","ID":"9d096c122066","IPv6":"false","Internal":"false","Labels":"","Name":"none","Scope":"local"}