Add mounts to docker ps.

- Allow to filter containers by volume with `--filter volume=name` and `filter volume=/dest`.
- Show their names in the list with the custom format `{{ .Mounts }}`.

Signed-off-by: David Calavera <david.calavera@gmail.com>
This commit is contained in:
David Calavera 2016-02-03 17:46:01 -05:00 committed by Tibor Vass
parent 543ca10394
commit beb7b68810
2 changed files with 28 additions and 0 deletions

View File

@ -60,6 +60,7 @@ The currently supported filters are:
* before (container's id or name) - filters containers created before given id or name * before (container's id or name) - filters containers created before given id or name
* since (container's id or name) - filters containers created since given id or name * since (container's id or name) - filters containers created since given id or name
* isolation (default|process|hyperv) (Windows daemon only) * isolation (default|process|hyperv) (Windows daemon only)
* volume (volume name or mount point) - filters containers that mount volumes.
#### Label #### Label
@ -193,6 +194,18 @@ with the same containers as in `before` filter:
9c3527ed70ce busybox "top" 10 minutes ago Up 10 minutes desperate_dubinsky 9c3527ed70ce busybox "top" 10 minutes ago Up 10 minutes desperate_dubinsky
4aace5031105 busybox "top" 10 minutes ago Up 10 minutes focused_hamilton 4aace5031105 busybox "top" 10 minutes ago Up 10 minutes focused_hamilton
#### Volume
The `volume` filter shows only containers that mount a specific volume or have a volume mounted in a specific path:
$ docker ps --filter volume=remote-volume --format "table {{.ID}}\t{{.Mounts}}"
CONTAINER ID MOUNTS
9c3527ed70ce remote-volume
$ docker ps --filter volume=/data --format "table {{.ID}}\t{{.Mounts}}"
CONTAINER ID MOUNTS
9c3527ed70ce remote-volume
## Formatting ## Formatting
@ -213,6 +226,7 @@ Placeholder | Description
`.Names` | Container names. `.Names` | Container names.
`.Labels` | All labels assigned to the container. `.Labels` | All labels assigned to the container.
`.Label` | Value of a specific label for this container. For example `{{.Label "com.docker.swarm.cpu"}}` `.Label` | Value of a specific label for this container. For example `{{.Label "com.docker.swarm.cpu"}}`
`.Mounts` | Names of the volumes mounted in this container.
When using the `--format` option, the `ps` command will either output the data exactly as the template When using the `--format` option, the `ps` command will either output the data exactly as the template
declares or, when using the `table` directive, will include column headers as well. declares or, when using the `table` directive, will include column headers as well.

View File

@ -35,6 +35,7 @@ the running containers.
- before=(<container-name>|<container-id>) - before=(<container-name>|<container-id>)
- since=(<container-name>|<container-id>) - since=(<container-name>|<container-id>)
- ancestor=(<image-name>[:tag]|<image-id>|<image@digest>) - containers created from an image or a descendant. - ancestor=(<image-name>[:tag]|<image-id>|<image@digest>) - containers created from an image or a descendant.
- volume=(<volume-name>|<mount-point-destination>)
**--format**="*TEMPLATE*" **--format**="*TEMPLATE*"
Pretty-print containers using a Go template. Pretty-print containers using a Go template.
@ -50,6 +51,7 @@ the running containers.
.Names - Container names. .Names - Container names.
.Labels - All labels assigned to the container. .Labels - All labels assigned to the container.
.Label - Value of a specific label for this container. For example `{{.Label "com.docker.swarm.cpu"}}` .Label - Value of a specific label for this container. For example `{{.Label "com.docker.swarm.cpu"}}`
.Mounts - Names of the volumes mounted in this container.
**--help** **--help**
Print usage statement Print usage statement
@ -118,6 +120,18 @@ the running containers.
c1d3b0166030 debian c1d3b0166030 debian
41d50ecd2f57 fedora 41d50ecd2f57 fedora
# Display containers with `remote-volume` mounted
$ docker ps --filter volume=remote-volume --format "table {{.ID}}\t{{.Mounts}}"
CONTAINER ID MOUNTS
9c3527ed70ce remote-volume
# Display containers with a volume mounted in `/data`
$ docker ps --filter volume=/data --format "table {{.ID}}\t{{.Mounts}}"
CONTAINER ID MOUNTS
9c3527ed70ce remote-volume
# HISTORY # HISTORY
April 2014, Originally compiled by William Henry (whenry at redhat dot com) April 2014, Originally compiled by William Henry (whenry at redhat dot com)
based on docker.com source material and internal work. based on docker.com source material and internal work.