首页
学习
活动
专区
工具
TVP
发布

docker network ls

描述

列出网络

用法

docker network ls [OPTIONS]

选项

名称,简写

默认

描述

--filter, -f

提供过滤器值(例如'driver = bridge')

--format

使用Go模板的pretty-print网络

--no-trunc

false

不要截断输出

--quiet, -q

false

只显示网络ID

父命令

命令

描述

docker网络

管理网络

相关命令

命令

描述

docker network connect

将容器连接到网络

docker network create

创建一个网络

docker network disconnect

从网络断开容器

docker network inspect

显示一个或多个网络的详细信息

docker network ls

列出网络

docker network prune

删除所有未使用的网络

docker network rm

删除一个或多个网络

扩展描述

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

实例

列出所有网络

$ 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网络。

目前支持的过滤器是:

  • driver
  • id (network’s id)
  • label (label=<key> or label=<key>=<value>)
  • name (network’s 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和值。

以下过滤器可以将网络与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指令时也包含列标题。

下面的示例使用的模板没有报头,并输出IDDriver通过对所有网络冒号分隔的条目:

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

扫码关注腾讯云开发者

领取腾讯云代金券