From 420b6a91af7d53afb250ad48eb487e8d9b59eadd Mon Sep 17 00:00:00 2001 From: Akihiro Suda Date: Tue, 21 Jun 2016 09:15:17 +0000 Subject: [PATCH] add `--format` flag to `docker info` Signed-off-by: Akihiro Suda --- contrib/completion/bash/docker | 8 +++++++- contrib/completion/fish/docker.fish | 4 ++++ contrib/completion/zsh/_docker | 3 ++- docs/reference/commandline/info.md | 12 +++++++++++- man/docker-info.1.md | 14 +++++++++++++- 5 files changed, 37 insertions(+), 4 deletions(-) diff --git a/contrib/completion/bash/docker b/contrib/completion/bash/docker index 0ded2a0c2c..90c08112a5 100644 --- a/contrib/completion/bash/docker +++ b/contrib/completion/bash/docker @@ -1290,9 +1290,15 @@ _docker_import() { } _docker_info() { + case "$prev" in + --format|-f) + return + ;; + esac + case "$cur" in -*) - COMPREPLY=( $( compgen -W "--help" -- "$cur" ) ) + COMPREPLY=( $( compgen -W "--format -f --help" -- "$cur" ) ) ;; esac } diff --git a/contrib/completion/fish/docker.fish b/contrib/completion/fish/docker.fish index 72ccd05533..2ee367ff30 100644 --- a/contrib/completion/fish/docker.fish +++ b/contrib/completion/fish/docker.fish @@ -200,6 +200,8 @@ complete -c docker -A -f -n '__fish_seen_subcommand_from import' -l help -d 'Pri # info complete -c docker -f -n '__fish_docker_no_subcommand' -a info -d 'Display system-wide information' +complete -c docker -A -f -n '__fish_seen_subcommand_from info' -s f -l format -d 'Format the output using the given go template' +complete -c docker -A -f -n '__fish_seen_subcommand_from info' -l help -d 'Print usage' # inspect complete -c docker -f -n '__fish_docker_no_subcommand' -a inspect -d 'Return low-level information on a container or image' @@ -393,6 +395,8 @@ complete -c docker -A -f -n '__fish_seen_subcommand_from unpause' -a '(__fish_pr # version complete -c docker -f -n '__fish_docker_no_subcommand' -a version -d 'Show the Docker version information' +complete -c docker -A -f -n '__fish_seen_subcommand_from version' -s f -l format -d 'Format the output using the given go template' +complete -c docker -A -f -n '__fish_seen_subcommand_from version' -l help -d 'Print usage' # wait complete -c docker -f -n '__fish_docker_no_subcommand' -a wait -d 'Block until a container stops, then print its exit code' diff --git a/contrib/completion/zsh/_docker b/contrib/completion/zsh/_docker index c8a3394274..d09445bf71 100644 --- a/contrib/completion/zsh/_docker +++ b/contrib/completion/zsh/_docker @@ -1709,7 +1709,8 @@ __docker_subcommand() { ;; (info|version) _arguments $(__docker_arguments) \ - $opts_help && ret=0 + $opts_help \ + "($help -f --format)"{-f=,--format=}"[Format the output using the given go template]:template: " && ret=0 ;; (inspect) local state diff --git a/docs/reference/commandline/info.md b/docs/reference/commandline/info.md index f62add6603..00d5b935c1 100644 --- a/docs/reference/commandline/info.md +++ b/docs/reference/commandline/info.md @@ -16,7 +16,8 @@ Usage: docker info Display system-wide information Options: - --help Print usage + -f, --format string Format the output using the given go template + --help Print usage ``` This command displays system wide information regarding the Docker installation. @@ -24,6 +25,10 @@ Information displayed includes the kernel version, number of containers and imag The number of images shown is the number of unique images. The same image tagged under different names is counted only once. +If a format is specified, the given template will be executed instead of the +default format. Go's [text/template](http://golang.org/pkg/text/template/) package +describes all the details of the format. + Depending on the storage driver in use, additional information can be shown, such as pool name, data file, metadata file, data space used, total data space, metadata space used, and total metadata space. @@ -144,3 +149,8 @@ information about the devicemapper storage driver is shown: Insecure registries: myinsecurehost:5000 127.0.0.0/8 + +You can also specify the output format: + + $ docker info --format '{{json .}}' + {"ID":"I54V:OLXT:HVMM:TPKO:JPHQ:CQCD:JNLC:O3BZ:4ZVJ:43XJ:PFHZ:6N2S","Containers":14, ...} diff --git a/man/docker-info.1.md b/man/docker-info.1.md index 1d96b562eb..810b215363 100644 --- a/man/docker-info.1.md +++ b/man/docker-info.1.md @@ -7,7 +7,7 @@ docker-info - Display system-wide information # SYNOPSIS **docker info** [**--help**] - +[**-f**|**--format**[=*FORMAT*]] # DESCRIPTION This command displays system wide information regarding the Docker installation. @@ -15,6 +15,10 @@ Information displayed includes the kernel version, number of containers and imag The number of images shown is the number of unique images. The same image tagged under different names is counted only once. +If a format is specified, the given template will be executed instead of the +default format. Go's **text/template** package +describes all the details of the format. + Depending on the storage driver in use, additional information can be shown, such as pool name, data file, metadata file, data space used, total data space, metadata space used, and total metadata space. @@ -28,6 +32,9 @@ available on the volume where `/var/lib/docker` is mounted. **--help** Print usage statement +**-f**, **--format**="" + Format the output using the given go template + # EXAMPLES ## Display Docker system information @@ -140,6 +147,11 @@ information about the devicemapper storage driver is shown: myinsecurehost:5000 127.0.0.0/8 +You can also specify the output format: + + $ docker info --format '{{json .}}' + {"ID":"I54V:OLXT:HVMM:TPKO:JPHQ:CQCD:JNLC:O3BZ:4ZVJ:43XJ:PFHZ:6N2S","Containers":14, ...} + # HISTORY April 2014, Originally compiled by William Henry (whenry at redhat dot com) based on docker.com source material and internal work.