ps --format: Add config.js doc, fix gofmt, add integration tests

Re-add the docs from @calavera's PR to the moved cli cmd reference docs.
Fix gofmt and vet issues from carried commits
Add integration test for using format with --no-trunc and multi-names
Fix custom_test map order dependency on expected value check
Add docs to reference/commandline/ps.md
Remove "-F" flag option from original carried PR content

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
This commit is contained in:
Phil Estes 2015-07-17 00:03:16 -04:00 committed by Tibor Vass
parent 1a9819b613
commit 5f2fd60890
3 changed files with 51 additions and 5 deletions

View File

@ -85,18 +85,26 @@ mechanisms, you must keep in mind the order of precedence among them. Command
line options override environment variables and environment variables override line options override environment variables and environment variables override
properties you specify in a `config.json` file. properties you specify in a `config.json` file.
The `config.json` file stores a JSON encoding of a single `HttpHeaders` The `config.json` file stores a JSON encoding of several properties:
property. The property specifies a set of headers to include in all messages
The property `HttpHeaders` specifies a set of headers to include in all messages
sent from the Docker client to the daemon. Docker does not try to interpret or sent from the Docker client to the daemon. Docker does not try to interpret or
understand these header; it simply puts them into the messages. Docker does understand these header; it simply puts them into the messages. Docker does
not allow these headers to change any headers it sets for itself. not allow these headers to change any headers it sets for itself.
The property `psFormat` specifies the default format for `docker ps` output.
When the `--format` flag is not provided with the `docker ps` command,
Docker's client uses this property. If this property is not set, the client
falls back to the default table format. For a list of supported formatting
directives, see the [**Formatting** section in the `docker ps` documentation](../ps)
Following is a sample `config.json` file: Following is a sample `config.json` file:
{ {
"HttpHeaders: { "HttpHeaders: {
"MyHeader": "MyValue" "MyHeader": "MyValue"
} },
"psFormat": "table {{.ID}}\\t{{.Image}}\\t{{.Command}}\\t{{.Labels}}"
} }
## Help ## Help

View File

@ -24,6 +24,7 @@ weight=1
-q, --quiet=false Only display numeric IDs -q, --quiet=false Only display numeric IDs
-s, --size=false Display total file sizes -s, --size=false Display total file sizes
--since="" Show created since Id or Name, include non-running --since="" Show created since Id or Name, include non-running
--format=[] Pretty-print containers using a Go template
Running `docker ps --no-trunc` showing 2 linked containers. Running `docker ps --no-trunc` showing 2 linked containers.
@ -60,5 +61,42 @@ The currently supported filters are:
This shows all the containers that have exited with status of '0' This shows all the containers that have exited with status of '0'
## Formatting
The formatting option (`--format`) will pretty-print container output using a Go template.
Valid placeholders for the Go template are listed below:
Placeholder | Description
---- | ----
`.ID` | Container ID
`.Image` | Image ID
`.Command` | Quoted command
`.CreatedAt` | Time when the container was created.
`.RunningFor` | Elapsed time since the container was started.
`.Ports` | Exposed ports.
`.Status` | Container status.
`.Size` | Container disk size.
`.Labels` | All labels asigned to the container.
`.Label` | Value of a specific label for this container. For example `{{.Label "com.docker.swarm.cpu"}}`
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.
The following example uses a template without headers and outputs the `ID` and `Command`
entries separated by a colon for all running containers:
$ docker ps --format "{{.ID}}: {{.Command}}"
a87ecb4f327c: /bin/sh -c #(nop) MA
01946d9d34d8: /bin/sh -c #(nop) MA
c1d3b0166030: /bin/sh -c yum -y up
41d50ecd2f57: /bin/sh -c #(nop) MA
To list all running containers with their labels in a table format you can use:
$ docker ps --format "table {{.ID}}\t{{.Labels}}"
CONTAINER ID LABELS
a87ecb4f327c com.docker.swarm.node=ubuntu,com.docker.swarm.storage=ssd
01946d9d34d8
c1d3b0166030 com.docker.swarm.node=debian,com.docker.swarm.cpu=6
41d50ecd2f57 com.docker.swarm.node=fedora,com.docker.swarm.cpu=3,com.docker.swarm.storage=ssd

View File

@ -16,7 +16,7 @@ docker-ps - List containers
[**-q**|**--quiet**[=*false*]] [**-q**|**--quiet**[=*false*]]
[**-s**|**--size**[=*false*]] [**-s**|**--size**[=*false*]]
[**--since**[=*SINCE*]] [**--since**[=*SINCE*]]
[**-F**|**--format**=*"TEMPLATE"*] [**--format**=*"TEMPLATE"*]
# DESCRIPTION # DESCRIPTION
@ -60,7 +60,7 @@ the running containers.
**--since**="" **--since**=""
Show only containers created since Id or Name, include non-running ones. Show only containers created since Id or Name, include non-running ones.
**-F**, **--format**=*"TEMPLATE"* **--format**=*"TEMPLATE"*
Pretty-print containers using a Go template. Pretty-print containers using a Go template.
Valid placeholders: Valid placeholders:
.ID - Container ID .ID - Container ID