【问题标题】:What's the difference between a Docker image's Image ID and its Digest?Docker 镜像的镜像 ID 和它的摘要有什么区别?
【发布时间】:2019-10-15 07:21:27
【问题描述】:

这让我感到非常困惑。我认为 Docker 的 Image ID 是它的 SHA256 哈希。但是,显然来自docker image ls --digests(列在列标题DIGEST 下)的结果与该图像的IMAGE ID 不同。

例如

docker image ls --digests alpine
REPOSITORY          TAG                 DIGEST                                                                    IMAGE ID            CREATED             SIZE
alpine              latest              sha256:769fddc7cc2f0a1c35abb2f91432e8beecf83916c421420e6a6da9f8975464b6   055936d39205        2 weeks ago         5.53MB

同时

docker image ls --no-trunc
REPOSITORY                                             TAG                 IMAGE ID                                                                  CREATED             SIZE
...
alpine                                                 latest              sha256:055936d3920576da37aa9bc460d70c5f212028bda1c08c0879aedf03d7a66ea1   2 weeks ago         5.53MB

显然sha256:055936d3920576da37aa9bc460d70c5f212028bda1c08c0879aedf03d7a66ea1 (IMAGE ID) 和 sha256:769fddc7cc2f0a1c35abb2f91432e8beecf83916c421420e6a6da9f8975464b6 (DIGEST) 不是同一个值。但为什么?拥有同一图像的两个不同 sha256 哈希的目的是什么。它们分别是如何计算的?

在阅读Docker Deep Dive这本书时,我对此感到困惑,无论是在书中还是在网上,我都无法找到明确的答案。

【问题讨论】:

  • this
  • @michalk 感谢您的评论。它提供了清晰的解释。我想知道为什么没有更多地提及这种区别。

标签: docker hash sha256


【解决方案1】:

感谢 michalk 的评论。简短的回答是:

  • “摘要”是清单的哈希,在 Docker 注册表 v2 中引入。
  • 图像 ID 是本地图像 JSON 配置的哈希值。

【讨论】:

    猜你喜欢
    • 2015-05-19
    • 2014-07-07
    • 1970-01-01
    • 2022-11-09
    • 1970-01-01
    • 2016-10-24
    • 2014-02-25
    • 1970-01-01
    相关资源
    最近更新 更多