格式化命令和日志输出
目录
Docker 支持 Go 模板,你可以使用它来操作某些命令和日志驱动程序的输出格式。
Docker 提供了一组基本功能来操作模板元素。
所有这些示例都使用 docker inspect 命令,但许多其他 CLI
命令都有一个 --format 标志,并且许多 CLI 命令参考
包括自定义输出格式的示例。
注意
当使用
--format标志时,您需要注意您的shell环境。 在POSIX shell中,您可以使用单引号运行以下命令:$ docker inspect --format '{{join .Args " , "}}'否则,在Windows shell(例如,PowerShell)中,您需要使用单引号,但 需要转义参数中的双引号,如下所示:
$ docker inspect --format '{{join .Args \" , \"}}'
join
join 将字符串列表连接起来创建一个单独的字符串。
它在列表中的每个元素之间放置一个分隔符。
$ docker inspect --format '{{join .Args " , "}}' container
table
table 指定您希望查看其输出的字段。
$ docker image list --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}\t{{.Size}}"
json
json 将一个元素编码为 json 字符串。
$ docker inspect --format '{{json .Mounts}}' container
lower
lower 将字符串转换为其小写表示。
$ docker inspect --format "{{lower .Name}}" container
split
split 将一个字符串切片为由分隔符分隔的字符串列表。
$ docker inspect --format '{{split .Image ":"}}' container
标题
title 将字符串的第一个字符大写。
$ docker inspect --format "{{title .Name}}" container
upper
upper 将字符串转换为其大写表示。
$ docker inspect --format "{{upper .Name}}" container
println
println 在每个新行上打印每个值。
$ docker inspect --format='{{range .NetworkSettings.Networks}}{{println .IPAddress}}{{end}}' container
提示
要找出可以打印的数据,将所有内容显示为json:
$ docker container ls --format='{{json .}}'