首页/云/Docker 容器速查/按 digest 引用镜像内容
镜像与构建107 条

按 digest 引用镜像内容

digest 是镜像内容摘要:标签可以移动,digest 固定不变;部署引用 digest 可保证每次拿到完全相同的内容。

Docker 容器速查云更新于 2026-10-13

digest 是什么

digest 是镜像内容的摘要值,形如 sha256: 后接一串字符。标签是可移动的引用,同一个 latest 今天和下周可能指向不同内容;digest 由内容计算得出,内容不变摘要就不变。因此需要「每次部署都拿到完全相同内容」时,用 镜像名@sha256:摘要 的形式引用比标签可靠得多。

基本信息

用途不可变的内容引用
获取方式docker images --digests、docker image inspect 的 RepoDigests
引用语法镜像名@sha256:<摘要>
层级差异多架构清单的摘要与单平台镜像摘要不同
适用平台Docker Engine 与支持 OCI 摘要的镜像仓库

典型使用场景

  • 生产部署固定到具体摘要,避免标签被覆盖造成版本漂移
  • 审计取证:证明某次上线运行的到底是哪份内容
  • 多架构镜像分别核对清单摘要与平台摘要
  • 排查本地与线上镜像是否完全一致
  • 供应链校验:配合签名与摘要固定,防止内容被替换

查看与引用

查看与引用
docker images --digests                                   # 查看镜像的摘要列
docker image inspect nginx:1.27 --format '{{index .RepoDigests 0}}'
docker pull nginx@sha256:<完整摘要>                        # 按摘要拉取
docker buildx imagetools inspect nginx:1.27               # 查看清单与各平台摘要
docker image inspect nginx@sha256:<摘要> --format '{{.Id}}' # 确认落地后的镜像 ID

摘要相关字段读法

字段含义读取要点
DIGEST(images 输出)本地记录的内容摘要从未推送过的镜像可能为空
RepoDigests仓库中的摘要引用包含仓库地址前缀
Manifest Digest多架构清单的摘要对应整个平台集合
单平台摘要某个架构镜像的摘要与清单摘要不同,按层级选择
摘要必须完整复制,手抄容易漏字符并导致 manifest unknown 报错,直接从 inspect 或 images 的输出里复制。
固定摘要之后,源仓库若按保留策略清理了该镜像,拉取会失败,保留策略要覆盖部署与回滚窗口。
编排文件里同样可以引用摘要:把 image 写成 镜像名@sha256:摘要 的形式,部署时就固定到具体内容。
在要求严格可复现的部署流程里,把摘要写进发布记录:回滚时按记录里的摘要拉取,不必再猜当时的标签指向哪份内容。

易错点

  • 手抄摘要漏字符:拉取时报 manifest unknown,看起来像镜像不存在
  • 混淆清单摘要与单平台摘要:多架构场景下引用错层级会拿到意外的架构
  • 只固定摘要不管仓库保留策略:镜像被清理后无法回滚到该版本
  • 以为标签也同样稳定:滚动标签会被覆盖,只有摘要能保证内容完全一致

数据来源与参考

  • Docker 官方文档:digests 与内容寻址(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌