1、docker secret ls 简介
docker secret ls
命令用于列出当前 Docker 引擎上的所有密钥。它会按名称升序列出每个密钥的 ID 和创建时间。
在管理节点上运行此命令,以列出集群中的密钥。
此命令与Swarm orchestrator一起工作。
注意:此命令一个集群管理命令,必须在集群管理器节点上执行。要了解经理和工人,请参阅文档中的Swarm mode部分。
参考文档:https://docs.docker.com/engine/reference/commandline/secret_ls/
2、docker secret ls 语法
docker secret ls [OPTIONS]
3、docker secret ls 命令
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
1)过滤(--filter)
过滤标志 (-f 或 --filter) 的格式是键值对。如果有多个过滤器,则传递多个标志 (例如,--filter "foo=bar" --filter "bif=baz")
当前支持的过滤器如下:
- id(密钥 ID)
- label(label= 或 label==)
- name(密钥名称)
2)id
id 过滤器匹配所有或密钥 ID 的前缀。
例如,id过滤器匹配秘密id的全部或前缀。
docker secret ls -f "id=6697bflskwj1998km1gnnjr38" ID NAME CREATED UPDATED 6697bflskwj1998km1gnnjr38 q5s5570vtvnimefos1fyeo2u2 6 weeks ago 6 weeks ago
3)label
label 过滤器根据标签的存在和值来匹配密钥。
以下过滤器将匹配所有具有 project 标签的密钥,而不考虑其值。
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
4)name
name
过滤器匹配所有或密钥名称的前缀。
以下过滤器将匹配名称包含 test 前缀的密钥。
docker secret ls --filter name=test_secret ID NAME CREATED UPDATED mem02h8n73mybpgqjf0kfi1n0 test_secret About an hour ago About an hour ago
5)格式化输出 (--format)
格式化选项 (--format
) 使用 Go 模板漂亮地打印密钥输出。
Go 模板的有效占位符如下:
占位符 | 描述 |
.ID | 密钥 ID |
.Name | 密钥 name |
.CreatedAt | 密钥创建时间 |
.UpdatedAt | 密钥更新时间 |
.Labels | 所有分配给密钥的标签 |
.Label | 此密钥特定标签的值。例如 {{.Label "secret.ssh.key"}} |
使用 --format
选项时,密钥列表命令将根据模板声明精确输出数据或在使用 table 指令时也包括列标题。
以下示例使用没有标题的模板,并为所有密钥输出以冒号 (:
) 分隔的 ID 和 Name 条目。
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"}
4、命令选项
选项 | 默认值 | 描述 |
--format , -f | 使用自定义模板格式化输出: ‘json’:以 JSON 格式打印 ‘TEMPLATE’:使用给定的 Go 模板打印输出。 请参阅 https://docs.docker.com/go/formatting/ 了解有关使用模板格式化输出的更多信息 | |
--pretty | 以人性化的格式打印信息 |
5、子命令
命令 | 描述 |
docker secret create | 创建一个密钥,从文件或标准输入中读取内容 |
docker secret inspect | 显示一个或多个密钥的详细信息 |
docker secret ls | 列出所有密钥 |
docker secret rm | 删除一个或多个密钥 |