格式化命令和日誌輸出
目錄
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 .}}'