1、docker trust sign 简介
docker trust sign
命令用于对 Docker 镜像进行签名的命令。它使用已配置的密钥对镜像进行签名,以验证镜像的完整性和来源可信性。
Docker trust sign
为标签添加签名,以创建签名仓库。
参考文档:https://docs.docker.com/engine/reference/commandline/trust_sign/
2、docker trust sign 语法
docker trust sign IMAGE:TAG
3、docker trust revoke 命令
1)作为仓库管理员签署一个标签
给定一个镜像:
docker trust inspect --pretty example/trust-demo SIGNED TAG DIGEST SIGNERS v1 c24134c079c35e698060beabe110bb83ab285d0d978de7d92fed2c8c83570a41 (Repo Admin) Administrative keys for example/trust-demo: Repository Key: 36d4c3601102fa7c5712a343c03b94469e5835fb27c191b529c06fd19c14a942 Root Key: 246d360f7c53a9021ee7d4259e3c5692f3f1f7ad4737b1ea8c7b8da741ad980b
使用 docker trust sign 对一个新的标签进行签署:
docker trust sign example/trust-demo:v2 Signing and pushing trust metadata for example/trust-demo:v2 The push refers to a repository [docker.io/example/trust-demo] eed4e566104a: Layer already exists 77edfb6d1e3c: Layer already exists c69f806905c2: Layer already exists 582f327616f1: Layer already exists a3fbb648f0bd: Layer already exists 5eac2de68a97: Layer already exists 8d4d1ab5ff74: Layer already exists v2: digest: sha256:8f6f460abf0436922df7eb06d28b3cdf733d2cac1a185456c26debbff0839c56 size: 1787 Signing and pushing trust metadata Enter passphrase for repository key with ID 36d4c36: Successfully signed docker.io/example/trust-demo:v2
使用 docker trust inspect --pretty 列出新的签名:
docker trust inspect --pretty example/trust-demo SIGNED TAG DIGEST SIGNERS v1 c24134c079c35e698060beabe110bb83ab285d0d978de7d92fed2c8c83570a41 (Repo Admin) v2 8f6f460abf0436922df7eb06d28b3cdf733d2cac1a185456c26debbff0839c56 (Repo Admin) Administrative keys for example/trust-demo: Repository Key: 36d4c3601102fa7c5712a343c03b94469e5835fb27c191b529c06fd19c14a942 Root Key: 246d360f7c53a9021ee7d4259e3c5692f3f1f7ad4737b1ea8c7b8da741ad980b
2)作为签署者签署一个标签
给定一个镜像:
docker trust inspect --pretty example/trust-demo No signatures for example/trust-demo List of signers and their keys for example/trust-demo: SIGNER KEYS alice 05e87edcaecb bob 5600f5ab76a2 Administrative keys for example/trust-demo: Repository Key: ecc457614c9fc399da523a5f4e24fe306a0a6ee1cc79a10e4555b3c6ab02f71e Root Key: 3cb2228f6561e58f46dbc4cda4fcaff9d5ef22e865a94636f82450d1d2234949
使用 docker trust sign
对一个新的标签进行签署:
docker trust sign example/trust-demo:v1 Signing and pushing trust metadata for example/trust-demo:v1 The push refers to a repository [docker.io/example/trust-demo] 26b126eb8632: Layer already exists 220d34b5f6c9: Layer already exists 8a5132998025: Layer already exists aca233ed29c3: Layer already exists e5d2f035d7a4: Layer already exists v1: digest: sha256:74d4bfa917d55d53c7df3d2ab20a8d926874d61c3da5ef6de15dd2654fc467c4 size: 1357 Signing and pushing trust metadata Enter passphrase for delegation key with ID 27d42a8: Successfully signed docker.io/example/trust-demo:v1
docker trust inspect --pretty
列出新的签名:
docker trust inspect --pretty example/trust-demo SIGNED TAG DIGEST SIGNERS v1 74d4bfa917d55d53c7df3d2ab20a8d926874d61c3da5ef6de15dd2654fc467c4 alice List of signers and their keys for example/trust-demo: SIGNER KEYS alice 05e87edcaecb bob 5600f5ab76a2 Administrative keys for example/trust-demo: Repository Key: ecc457614c9fc399da523a5f4e24fe306a0a6ee1cc79a10e4555b3c6ab02f71e Root Key: 3cb2228f6561e58f46dbc4cda4fcaff9d5ef22e865a94636f82450d1d2234949
4、命令选项
选项 | 描述 |
--local | 标记一个局部标记的镜像 |
5、相关命令
命令 | 描述 |
docker trust inspect | 返回有关密钥和签名的低级信息 |
docker trust key | 管理用于签名 Docker 镜像的密钥 |
docker trust revoke | 取消对镜像的信任 |
docker trust sign | 对镜像进行签名 |
docker trust signer | 管理可以对 Docker 镜像进行签名的实体 |