码头工人网络ls

描述

列出网络

API 1.21+  客户端和守护程序API都必须至少为 1.21, 才能使用此命令。docker version在客户端上使用命令检查客户端和守护程序API版本。

用法

$ docker network ls [OPTIONS]

扩展说明

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

有关此命令的示例用法,请参阅下面的示例部分

选项

名称,简写 默认 描述
--filter-f 提供过滤器值(例如“ driver = bridge”)
--format 使用Go模板的精美印刷网络
--no-trunc 不要截断输出
--quiet-q 仅显示网络ID

例子

列出所有网络

$ sudo 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)格式为一key=value对。如果有多个过滤器,则传递多个标志(例如--filter "foo=bar" --filter "bif=baz")。多个过滤器标志被组合为一个OR过滤器。例如,同时 -f type=custom -f type=builtin返回custombuiltin网络。

当前支持的过滤器是:

  • 司机
  • ID(网络ID)
  • 标签(label=<key>label=<key>=<value>
  • 名称(网络名称)
  • 范围(swarm|global|local
  • 类型(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和一个值的存在来匹配网络。

以下过滤器将网络与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过滤器上的网络名称的全部或部分匹配。

以下过滤器将使用名称包含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过滤器匹配基于其范围的网络。

以下示例将网络与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过滤器支持两个值; 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模板的有效占位符:

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

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

以下示例使用没有标题的模板,ID并为所有网络输出Driver用冒号(:)分隔的 和条目:

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

上级命令

命令 描述
码头工人网络 管理网络
命令 描述
码头工人网络连接 将容器连接到网络
码头工人网络创建 创建一个网络
泊坞窗网络断开 断开容器与网络的连接
码头工人网络检查 在一个或多个网络上显示详细信息
码头工人网络ls 列出网络
码头工人网络修剪 删除所有未使用的网络
码头工人网络 删除一个或多个网络