docker secret ls

說明列出 secrets
用法docker secret ls [選項]
別名
docker secret list

Swarm 此指令適用於 Swarm 編排器。

說明

在管理節點上執行此指令以列出 swarm 中的 secrets。

有關使用 secrets 的詳細資訊,請參閱使用 Docker secrets 管理敏感資料

**注意**

這是一個叢集管理指令,必須在 swarm 管理節點上執行。要了解管理員和工作節點,請參閱文件中Swarm 模式章節。

選項

選項預設值說明
-f, --filter根據提供的條件篩選輸出
--format使用自定義範本格式化輸出
'table':以表格格式列印輸出,包含欄位標題(預設)
'table TEMPLATE':使用指定的 Go 範本以表格格式列印輸出
'json':以 JSON 格式列印
'TEMPLATE':使用指定的 Go 範本列印輸出。
參考 https://docker-docs.dev.org.tw/go/formatting/ 以取得更多關於使用範本格式化輸出的資訊
-q, --quiet僅顯示 ID

範例

$ docker secret ls

ID                          NAME                        CREATED             UPDATED
6697bflskwj1998km1gnnjr38   q5s5570vtvnimefos1fyeo2u2   6 weeks ago         6 weeks ago
9u9hk4br2ej0wgngkga6rp4hq   my_secret                   5 weeks ago         5 weeks ago
mem02h8n73mybpgqjf0kfi1n0   test_secret                 3 seconds ago       3 seconds ago

篩選(--filter)

篩選旗標(-f--filter)格式為 key=value 鍵值對。如果有多個篩選器,請傳遞多個旗標(例如,--filter "foo=bar" --filter "bif=baz")。

目前支援的篩選器為

  • id(secret 的 ID)
  • labellabel=<key>label=<key>=<value>
  • name(secret 的名稱)

id

id 篩選器符合 secret ID 的全部或前綴。

$ docker secret ls -f "id=6697bflskwj1998km1gnnjr38"

ID                          NAME                        CREATED             UPDATED
6697bflskwj1998km1gnnjr38   q5s5570vtvnimefos1fyeo2u2   6 weeks ago         6 weeks ago

label

label 篩選器根據單獨存在 labellabel 和值來匹配 secrets。

以下篩選器會匹配所有具有 project 標籤的 secrets,無論其值為何

$ docker secret ls --filter label=project

ID                          NAME                        CREATED             UPDATED
mem02h8n73mybpgqjf0kfi1n0   test_secret                 About an hour ago   About an hour ago

以下篩選器僅匹配具有 project 標籤且值為 project-a 的服務。

$ docker service ls --filter label=project=test

ID                          NAME                        CREATED             UPDATED
mem02h8n73mybpgqjf0kfi1n0   test_secret                 About an hour ago   About an hour ago

name

name 篩選器符合 secret 名稱的全部或前綴。

以下篩選器匹配名稱包含 test 前綴的 secret。

$ docker secret ls --filter name=test_secret

ID                          NAME                        CREATED             UPDATED
mem02h8n73mybpgqjf0kfi1n0   test_secret                 About an hour ago   About an hour ago

格式化輸出(--format)

格式化選項(--format)使用 Go 範本漂亮地列印 secrets 輸出。

Go 範本的有效佔位符列於下方

佔位符說明
.IDSecret ID
.NameSecret 名稱
建立時間建立秘密資訊的時間
.UpdatedAt秘密資訊更新的時間
.Labels指派給此秘密資訊的所有標籤
.Label此秘密資訊特定標籤的值。例如 {{.Label "secret.ssh.key"}}

使用 --format 選項時,secret ls 指令會完全按照範本宣告的內容輸出資料,或者在使用 table 指示時,也會包含欄位標頭。

以下範例使用不含標頭的範本,並以冒號 (:) 分隔所有映像檔的 IDName 項目輸出

$ docker secret ls --format "{{.ID}}: {{.Name}}"

77af4d6b9913: secret-1
b6fa739cedf5: secret-2
78a85c484f71: secret-3

若要以表格格式列出所有秘密資訊及其名稱和建立日期,您可以使用

$ docker secret ls --format "table {{.ID}}\t{{.Name}}\t{{.CreatedAt}}"

ID                  NAME                      CREATED
77af4d6b9913        secret-1                  5 minutes ago
b6fa739cedf5        secret-2                  3 hours ago
78a85c484f71        secret-3                  10 days ago

若要以 JSON 格式列出所有秘密資訊,請使用 json 指示

$ docker secret ls --format json
{"CreatedAt":"28 seconds ago","Driver":"","ID":"4y7hvwrt1u8e9uxh5ygqj7mzc","Labels":"","Name":"mysecret","UpdatedAt":"28 seconds ago"}