2.6 KiB
description | keywords | title | redirect_from | |
---|---|---|---|---|
CLI and log output formatting reference | format, formatting, output, templates, log | Format command and log output |
|
Docker uses Go templates which you can use to manipulate the output format of certain commands and log drivers.
Docker provides a set of basic functions to manipulate template elements.
All of these examples use the docker inspect
command, but many other CLI
commands have a --format
flag, and many of the CLI command references
include examples of customizing the output format.
Note
When using the
--format
flag, you need observe your shell environment. In a Posix shell, you can run the following with a single quote:{% raw %}
docker inspect --format '{{join .Args " , "}}'
{% endraw %}
Otherwise, in a Windows shell (for example, PowerShell), you need to use single quotes, but escape the double quotes inside the params as follows:
{% raw %}
docker inspect --format '{{join .Args \" , \"}}'
{% endraw %}
{:.important}
join
join
concatenates a list of strings to create a single string.
It puts a separator between each element in the list.
{% raw %}
docker inspect --format '{{join .Args " , "}}' container
{% endraw %}
table
table
specifies which fields you want to see its output.
{% raw %}
docker image list --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}\t{{.Size}}"
{% endraw %}
json
json
encodes an element as a json string.
{% raw %}
docker inspect --format '{{json .Mounts}}' container
{% endraw %}
lower
lower
transforms a string into its lowercase representation.
{% raw %}
docker inspect --format "{{lower .Name}}" container
{% endraw %}
split
split
slices a string into a list of strings separated by a separator.
{% raw %}
docker inspect --format '{{split .Image ":"}}'
{% endraw %}
title
title
capitalizes the first character of a string.
{% raw %}
docker inspect --format "{{title .Name}}" container
{% endraw %}
upper
upper
transforms a string into its uppercase representation.
{% raw %}
docker inspect --format "{{upper .Name}}" container
{% endraw %}
println
println
prints each value on a new line.
{% raw %}
docker inspect --format='{{range .NetworkSettings.Networks}}{{println .IPAddress}}{{end}}' container
{% endraw %}
Hint
To find out what data can be printed, show all content as json:
{% raw %}
docker container ls --format='{{json .}}'
{% endraw %}