mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
f812b55692
This patch did following: 1) Make filter check logic same as `docker ps ` filters Right now docker container logic work as following: when same filter used like below: -f name=jack -f name=tom it would get all containers name is jack or tom(it is or logic) when different filter used like below: -f name=jack -f id=7d1 it would get all containers name is jack and id contains 7d1(it is and logic) It would make sense in many user cases, but it did lack of compliate filter cases, like "I want to get containers name is jack or id=7d1", it could work around use (get id=7d1 containers' name and get name=jack containers, and then construct the final containers, they could be done in user side use shell or rest API) 2) Fix one network filter bug which could include duplicate result when use -f name= -f id=, it would get duplicate results 3) Make id filter same as container id filter, which means match any string. not use prefix match. It is for consistent match logic Closes: #21417 Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
161 lines
4.7 KiB
Markdown
161 lines
4.7 KiB
Markdown
% DOCKER(1) Docker User Manuals
|
|
% Docker Community
|
|
% OCT 2015
|
|
# NAME
|
|
docker-network-ls - list networks
|
|
|
|
# SYNOPSIS
|
|
**docker network ls**
|
|
[**-f**|**--filter**[=*[]*]]
|
|
[**--no-trunc**[=*true*|*false*]]
|
|
[**-q**|**--quiet**[=*true*|*false*]]
|
|
[**--help**]
|
|
|
|
# DESCRIPTION
|
|
|
|
Lists all the networks the Engine `daemon` knows about. This includes the
|
|
networks that span across multiple hosts in a cluster, for example:
|
|
|
|
```bash
|
|
$ docker network ls
|
|
NETWORK ID NAME DRIVER
|
|
7fca4eb8c647 bridge bridge
|
|
9f904ee27bf5 none null
|
|
cf03ee007fb4 host host
|
|
78b03ee04fc4 multi-host overlay
|
|
```
|
|
|
|
Use the `--no-trunc` option to display the full network id:
|
|
|
|
```bash
|
|
$ docker network ls --no-trunc
|
|
NETWORK ID NAME DRIVER
|
|
18a2866682b85619a026c81b98a5e375bd33e1b0936a26cc497c283d27bae9b3 none null
|
|
c288470c46f6c8949c5f7e5099b5b7947b07eabe8d9a27d79a9cbf111adcbf47 host host
|
|
7b369448dccbf865d397c8d2be0cda7cf7edc6b0945f77d2529912ae917a0185 bridge bridge
|
|
95e74588f40db048e86320c6526440c504650a1ff3e9f7d60a497c4d2163e5bd foo bridge
|
|
63d1ff1f77b07ca51070a8c227e962238358bd310bde1529cf62e6c307ade161 dev bridge
|
|
```
|
|
|
|
## Filtering
|
|
|
|
The filtering flag (`-f` or `--filter`) format is a `key=value` pair. If there
|
|
is more than one filter, then pass multiple flags (e.g. `--filter "foo=bar" --filter "bif=baz"`).
|
|
Multiple filter flags are combined as an `OR` filter. For example,
|
|
`-f type=custom -f type=builtin` returns both `custom` and `builtin` networks.
|
|
|
|
The currently supported filters are:
|
|
|
|
* id (network's id)
|
|
* label (`label=<key>` or `label=<key>=<value>`)
|
|
* name (network's name)
|
|
* type (custom|builtin)
|
|
|
|
#### ID
|
|
|
|
The `id` filter matches on all or part of a network's ID.
|
|
|
|
The following filter matches all networks with an ID containing the
|
|
`63d1ff1f77b0...` string.
|
|
|
|
```bash
|
|
$ docker network ls --filter id=63d1ff1f77b07ca51070a8c227e962238358bd310bde1529cf62e6c307ade161
|
|
NETWORK ID NAME DRIVER
|
|
63d1ff1f77b0 dev bridge
|
|
```
|
|
|
|
You can also filter for a substring in an ID as this shows:
|
|
|
|
```bash
|
|
$ 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
|
|
|
|
The `label` filter matches containers based on the presence of a `label` alone or a `label` and a
|
|
value.
|
|
|
|
The following filter matches networks with the `usage` label regardless of its value.
|
|
|
|
```bash
|
|
$ docker network ls -f "label=usage"
|
|
NETWORK ID NAME DRIVER
|
|
db9db329f835 test1 bridge
|
|
f6e212da9dfd test2 bridge
|
|
```
|
|
|
|
The following filter matches containers with the `usage` label with the `prod` value.
|
|
|
|
```bash
|
|
$ docker network ls -f "label=usage=prod"
|
|
NETWORK ID NAME DRIVER
|
|
f6e212da9dfd test2 bridge
|
|
```
|
|
|
|
#### Name
|
|
|
|
The `name` filter matches on all or part of a network's name.
|
|
|
|
The following filter matches all networks with a name containing the `foobar` string.
|
|
|
|
```bash
|
|
$ docker network ls --filter name=foobar
|
|
NETWORK ID NAME DRIVER
|
|
06e7eef0a170 foobar bridge
|
|
```
|
|
|
|
You can also filter for a substring in a name as this shows:
|
|
|
|
```bash
|
|
$ docker network ls --filter name=foo
|
|
NETWORK ID NAME DRIVER
|
|
95e74588f40d foo bridge
|
|
06e7eef0a170 foobar bridge
|
|
```
|
|
|
|
#### Type
|
|
|
|
The `type` filter supports two values; `builtin` displays predefined networks
|
|
(`bridge`, `none`, `host`), whereas `custom` displays user defined networks.
|
|
|
|
The following filter matches all user defined networks:
|
|
|
|
```bash
|
|
$ docker network ls --filter type=custom
|
|
NETWORK ID NAME DRIVER
|
|
95e74588f40d foo bridge
|
|
63d1ff1f77b0 dev bridge
|
|
```
|
|
|
|
By having this flag it allows for batch cleanup. For example, use this filter
|
|
to delete all user defined networks:
|
|
|
|
```bash
|
|
$ docker network rm `docker network ls --filter type=custom -q`
|
|
```
|
|
|
|
A warning will be issued when trying to remove a network that has containers
|
|
attached.
|
|
|
|
# OPTIONS
|
|
|
|
**-f**, **--filter**=*[]*
|
|
filter output based on conditions provided.
|
|
|
|
**--no-trunc**=*true*|*false*
|
|
Do not truncate the output
|
|
|
|
**-q**, **--quiet**=*true*|*false*
|
|
Only display numeric IDs
|
|
|
|
**--help**
|
|
Print usage statement
|
|
|
|
# HISTORY
|
|
OCT 2015, created by Mary Anthony <mary@docker.com>
|