格式化命令與日誌輸出
目錄
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 個字元,則會截斷至前 15 個字元。
println
println 將每個值列印在新的一行。
$ docker inspect --format='{{range .NetworkSettings.Networks}}{{println .IPAddress}}{{end}}' container
提示
若要了解可以列印哪些資料,請將所有內容以 JSON 格式顯示:
$ docker container ls --format='{{json .}}'