Docker 无独立帮助命令列出镜像签名功能,但可通过 docker trust 子命令管理签名与校验;其核心包括 inspect、sign、key generate 和 signer add;启用 DOCKER_CONTENT_TRUST=1 后 pull 自动校验签名。

Docker 本身没有独立的“帮助命令”专门列出镜像签名与校验相关的子命令,但你可以通过组合标准命令和环境变量来定位和使用这些功能。
查看与签名、校验直接相关的命令入口
docker 命令体系中,签名与校验能力由 Docker Content Trust(DCT) 提供,它不是单独的子命令,而是集成在 pull、push 等操作中的可选行为。要发现相关支持,可用以下方式:
运行
docker pull --help
查看输出中是否包含--disable-content-trust选项 —— 这是控制签名验证开关的关键参数。存在即说明当前 Docker 客户端启用了 DCT 支持。运行
docker push --help
同样会显示--disable-content-trust,并提示:启用DOCKER_CONTENT_TRUST=1环境变量后,push会自动触发签名流程。查看全局帮助中关于信任的说明:
docker --help | grep -i trust
或更准确:docker help trust
⚠️ 注意:docker trust是一个真实存在的子命令(自 Docker 1.12+ 起),专用于管理签名密钥、委托关系和验证策略。
docker trust 的核心子命令
该命令是检索和操作镜像签名的主入口,常用如下:
在 Linux 上通过 Docker 运行 OpenClaw,并使用 Tailscale 实现远程访问。⚠️ 涉及 sudo、Docker、Tailscale和凭证挂载——请先查阅安全章节...
docker trust inspect <IMAGE>
查看镜像是否已签名、有哪些签名者、委托链结构。docker trust sign <IMAGE>
(需先配置密钥)为本地镜像生成并推送签名。docker trust key generate <NAME>
创建本地签名密钥(如 root key 或 repository key)。docker trust signer add --key <KEY_FILE> <SIGNER> <IMAGE>
将他人公钥添加为该镜像仓库的委托签名者。
验证签名是否生效的快捷方式
启用 DCT 后,拉取行为本身即触发校验:
export DOCKER_CONTENT_TRUST=1 docker pull nginx:1.25.3
若镜像未签名,会直接报错 Error: remote trust data does not exist;成功则静默完成。
注意点
-
docker trust命令仅对启用了内容信任的 registry 生效(如 Docker Hub、Harbor v2.0+),普通私有 registry 需额外配置 Notary 服务。 -
docker info输出中若含Content trust: enabled,说明客户端已激活 DCT。 - 所有签名操作依赖本地密钥,默认存于
~/.docker/trust/,不可丢失。
不复杂但容易忽略

















