格式化命令和日誌輸出
目錄
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
pad
pad
向字串新增空白填充。您可以指定在字串之前和之後新增的空格數。
$ docker image list --format '{{pad .Repository 5 10}}'
此示例在映象倉庫名稱前新增 5 個空格,在其後新增 10 個空格。
truncate
truncate
將字串縮短到指定長度。如果字串短於指定長度,則保持不變。
$ docker image list --format '{{truncate .Repository 15}}'
此示例顯示映象倉庫名稱,如果它更長,則將其截斷為前 15 個字元。
println
println
將每個值列印在新的一行上。
$ docker inspect --format='{{range .NetworkSettings.Networks}}{{println .IPAddress}}{{end}}' container
提示
要了解可以列印哪些資料,請將所有內容顯示為 json
$ docker container ls --format='{{json .}}'