docker图像摘要真的安全吗?

docker图像摘要真的安全吗?,docker,hash,docker-registry,docker-image,Docker,Hash,Docker Registry,Docker Image,docker如何处理摘要 当我运行docker image--inspect时,我可以在纯文本中看到图像的摘要。还有一件事,本地图像在我把它们推到注册表之前没有摘要(好吧,如果我把一个图像推到不同的注册表,它会有不同的摘要,但从未尝试过) 我担心docker实际上可能在使用这些信息,而不是每次我使用或拉取图像时计算哈希值 有没有办法告诉docker:“嘿,我想让你现在重新检查图像内容的散列。它们与我第一次创建图像时完全相同?或者有人操纵过它吗?” 而且:docker是否真的在每次运行图像(按摘要

docker如何处理摘要

当我运行
docker image--inspect
时,我可以在纯文本中看到图像的摘要。还有一件事,本地图像在我把它们推到注册表之前没有摘要(好吧,如果我把一个图像推到不同的注册表,它会有不同的摘要,但从未尝试过)

我担心docker实际上可能在使用这些信息,而不是每次我使用或拉取图像时计算哈希值

有没有办法告诉docker:“嘿,我想让你现在重新检查图像内容的散列。它们与我第一次创建图像时完全相同?或者有人操纵过它吗?”


而且:docker是否真的在每次运行图像(按摘要)时计算哈希值,或者至少在每次提取图像(按摘要)时计算哈希值?

在推拉到注册表时计算摘要值。它是映像清单的sha256校验和,即docker的当前版本独立于注册表(较旧的schema v1语法包括清单中的存储库/标记,导致摘要根据映像名称而改变)。层摘要包含在该清单中,注册表上的那些摘要是压缩的tar文件。一旦文件在本地docker引擎上被提取出来,它们就不会被重新验证,而且我还不知道有哪个命令会验证
/var/lib/docker
下的文件在图像提取后没有被更改。

因此,
docker pull
使用摘要即使在不受信任的注册表中也是安全的,假设本地引擎计算内容的sha256校验和,并检查它们是否与您要求的内容匹配,对吗?@alx yes,摘要确保您提取的内容未被修改。这就是公证人v1的工作方式,验证标签指向摘要,docker引擎验证自动提取的其余内容。