如何计算Docker映像的摘要?

摘要是docker镜像的sha256哈希,但是镜像不是一个单独的文件,而是一组图层。 我认为摘要是图像清单文件中的sha256散列,但是我已经计算了许多清单文件的sha256散列,并将结果与​​摘要泊坞窗提供的图像进行比较,它们是不同的。 那么sha256的哈希值是什么才能创build图像摘要值?

根据我在Docker源代码中的冒险,看起来摘要是代表图像configuration的JSONstring的SHA256(默认情况下)。

您可以查看创build图像的相关方法和计算摘要的函数 。

“图像摘要”是没有签名内容的清单主体的摘要。 确保你在caclutae之前排除它。

https://docs.docker.com/registry/spec/api/#content-digests

消息头

为了提供http内容的validation,任何响应可以包括Docker-Content-Digest头。 这将包括响应中返回的目标实体的摘要。 对于blob,这是整个blob内容。 对于舱单,这是没有签名内容的舱单体,也称为JWS有效载荷。 请注意,摘要计算的常用规范化可能取决于内容的媒介types,如清单。