- Usage: docker network ls [OPTIONS]
-
- List networks
-
- Aliases:
- ls, list
-
- Options:
- -f, --filter value Provide filter values (i.e. 'dangling=true') (default [])
- --help Print usage
- --no-trunc Do not truncate the output
- -q, --quiet Only display network IDs
列出Engine daemon知道的所有网络。这包括跨集群中多个主机的网络,例如:
- $ sudo docker network ls
- NETWORK ID NAME DRIVER
- 7fca4eb8c647 bridge bridge
- 9f904ee27bf5 none null
- cf03ee007fb4 host host
- 78b03ee04fc4 multi-host overlay
使用–no-trunc选项显示完整的网络id:
- docker network ls --no-trunc
- NETWORK ID NAME DRIVER
- 18a2866682b85619a026c81b98a5e375bd33e1b0936a26cc497c283d27bae9b3 none null
- c288470c46f6c8949c5f7e5099b5b7947b07eabe8d9a27d79a9cbf111adcbf47 host host
- 7b369448dccbf865d397c8d2be0cda7cf7edc6b0945f77d2529912ae917a0185 bridge bridge
- 95e74588f40db048e86320c6526440c504650a1ff3e9f7d60a497c4d2163e5bd foo bridge
- 63d1ff1f77b07ca51070a8c227e962238358bd310bde1529cf62e6c307ade161 dev bridge
过滤
过滤标志(-f或–filter)格式是key=value。如果超过一个过滤,那么传递多个标志(如 –filter “foo=bar” –filter “bif=baz”)。多个过滤标志作为一个OR过滤连接。例如-f type=custom -f type=builtin返回custom和builtin网络。
目前支持的过滤有:
driver
id (网络id)
label (label= 或 label==)
name (网络名称)
type (custom builtin)
Driver
driver过滤器基于它们的驱动匹配网络。
下面的示例匹配使用bridge驱动的网络:
- $ docker network ls --filter driver=bridge
- NETWORK ID NAME DRIVER
- db9db329f835 test1 bridge
- f6e212da9dfd test2 bridge
ID
id过滤器基于完整或部分网络ID匹配网络。
下面的示例是过滤出包含ID 63d1ff1f77b0…字符串的网络。
- $ docker network ls --filter id=63d1ff1f77b07ca51070a8c227e962238358bd310bde1529cf62e6c307ade161
- NETWORK ID NAME DRIVER
- 63d1ff1f77b0 dev bridge
也可以使用ID的部分字符来匹配:
- $ docker network ls --filter id=95e74588f40d
- NETWORK ID NAME DRIVER
- 95e74588f40d foo bridge
-
- $ docker network ls --filter id=95e
- NETWORK ID NAME DRIVER
- 95e74588f40d foo bridge
Label
label过滤器基于label的存在或label和其值来匹配网络。
下面的示例过滤出有一个usage label而不管它是什么值的所有网络。
- $ docker network ls -f "label=usage"
- NETWORK ID NAME DRIVER
- db9db329f835 test1 bridge
- f6e212da9dfd test2 bridge
下面过滤出存在usage label且值为prod的网络。
- $ docker network ls -f "label=usage=prod"
- NETWORK ID NAME DRIVER
- f6e212da9dfd test2 bridge
Name
name过滤器基于网络名称的全部或部分匹配网络。
下面示例过滤出网络名称包含foobar字符中的所有网络。
- $ docker network ls --filter name=foobar
- NETWORK ID NAME DRIVER
- 06e7eef0a170 foobar bridge
也可以指定名称的部分匹配:
- $ docker network ls --filter name=foo
- NETWORK ID NAME DRIVER
- 95e74588f40d foo bridge
- 06e7eef0a170 foobar bridge
Type
type过滤器支持两个值;builtin显示预定义的网络(bridge,none,host),costom显示用户定义的网络。
下面示例过滤出所有用户定义的网络:
- $ docker network ls --filter type=custom
- NETWORK ID NAME DRIVER
- 95e74588f40d foo bridge
- 63d1ff1f77b0 dev bridge
通过这个命令可以清理网络。例如,使用这个过滤可以删除所有的用户定义的网络:
- $ docker network rm `docker network ls --filter type=custom -q`
当尝试删除仍然有容器连接到的网络时将出现一个waring。