格式化命令和日志输出

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

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 .}}'