docker 如何处理摘要?
当我运行 docker image --inspect
时,我可以在纯文本中看到图像的摘要。还有一个问题,本地图像在我将它们推送到注册表之前没有摘要(而且 AFAIK,如果我将图像推送到各种注册表,它会有各种摘要,但从未尝试过)。
我担心 docker 可能实际上是在使用这些信息,而不是在我每次使用或拉取图像时计算哈希值。
有没有办法告诉 docker:“嘿,我想让你现在重新检查图像内容的哈希值。它们和我第一次创建图像时完全一样吗?或者有人操纵过它吗?”
而且:docker 是否真的在每次运行图像(通过摘要)或至少每次拉取图像(通过摘要)时计算哈希?
答案 0 :(得分:1)
摘要是在推送和拉到注册表时计算的。它是图像清单的 sha256 校验和,这是 docker 的当前版本独立于注册表(较旧的模式 v1 语法在清单中包含存储库/标签,导致摘要根据图像名称而变化)。层摘要包含在该清单中,注册表中的那些摘要是压缩的 tar 文件。在本地 docker 引擎上提取文件后,它们不会重新验证,而且我还不知道有什么命令可以验证 /var/lib/docker
下的文件自拉取映像后未更改。< /p>