手机版

Docker命令行参考(31) – docker network ls列出网络

时间:2020-05-06 来源:互联网 编辑:宝哥软件园 浏览:
过滤DriverIDLabelNameType
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。

版权声明:Docker命令行参考(31) – docker network ls列出网络是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。

相关文章推荐