格式化命令和日誌輸出

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 .}}'
頁面選項