©
本文档使用
php.cn手册 发布
列出网络
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
返回两者custom
和builtin
网络。
目前支持的过滤器是:
driver
id (network’s id)
label (label=<key>
or label=<key>=<value>
)
name (network’s 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的全部或部分匹配。
以下过滤器匹配所有包含该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
显示预定义的网络(bridge
,none
,host
),而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