格式化命令與日誌輸出

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 .}}'
© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.