You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Docker Content Trust为buildx构建的多架构镜像签名

Docker Buildx 启用 Docker Content Trust (DCT) 操作说明

核心原因

Docker Buildx 的 --push 参数底层直接调用BuildKit的推送逻辑,绕过了Docker客户端原生的DCT签名流程,即使配置了全局DCT环境变量也不会自动触发签名,属于设计上的预期行为,不存在遗漏的buildx参数,也无需对构建器做特殊配置。

可行解决方案

推荐拆分构建推送和签名步骤,操作流程如下:

  • 第一步:照常执行多架构镜像构建推送,无需开启DCT
docker buildx build --file Dockerfile --push --platform linux/arm64,linux/amd64 --tag myharborregistry.com/myimage:latest .
  • 第二步:显式配置DCT环境变量,执行镜像签名命令
# 生效DCT配置
export DOCKER_CONTENT_TRUST=1
export DOCKER_CONTENT_TRUST_SERVER=<你的Notary服务实际地址>
# 对指定镜像标签签名,会自动关联对应多架构镜像的全部清单数据
docker trust sign myharborregistry.com/myimage:latest

注意事项

  • 首次签名时需要输入你设置的Notary根密钥和仓库密钥,自动化场景可通过 DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE、DOCKER_CONTENT_TRUST_ROOT_PASSPHRASE 环境变量传入密钥密码
  • 操作账号需要拥有Harbor对应项目的Notary签名权限,Harbor默认仅项目管理员具备该权限
  • 签名完成后可通过 docker trust inspect myharborregistry.com/myimage:latest 命令验证签名元数据是否正常生成

内容的提问来源于stack exchange,提问作者Spencer Small

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 14:27:07