一个问题:Docker镜像的sha256哈希值在不同仓库中是否不同?

5
我刚刚将一个docker镜像从一个存储库复制到另一个存储库,通过从我们的OpenShift 3.11外部库中提取一个明确的sha256散列标记,将其重新标记为我们的Harbor 1.9.2存储库并推送该标记。在此过程中,新镜像的sha256密钥被显示出来,与我开始使用的sha256密钥不同。这是意外的,因为我没有改变镜像的任何内容,除了给它分配另一个标记,所以字节应该相同,从而得到相同的哈希值。
这是否意味着算法出现某些差异?是否包括仓库名称在哈希密钥计算中?或者有其他原因?
1个回答

5
你把镜像ID的摘要和层次摘要混淆了。如果你使用 docker inspect 命令查看这些镜像,你会发现底层的层次摘要完全匹配。
每个注册表中的镜像都有一个镜像ID。运行docker images --digests --no-trunc命令,你会看到一个摘要列和一个镜像ID列,它们不同。摘要列是清单的摘要,以docker inspect输出中的RepoDigests显示。如果清单包含名称和标记,则摘要也将不同。
另外,尝试执行diff <(docker inspect image_id_1) <(docker inspect image_id_2)来查看具体情况。
有关详细信息,请参见此答案此文章

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接