weixin_46582560 2022-09-15 19:30 采纳率: 0%
浏览 44

docker如何知道某个镜像层已经存在

最近看了一些文章,得知docker在拉取一个镜像时,会先获取docker的manifest文件,在manifest文件中,包含了所需下载的(压缩的)层的sha256 以及对应config文件的sha256,这个config文件中又包含了(解压后)层的sha256(diffid),然后还会将压缩的层解压后计算sha256,再和diffid对比以保证没有下载错。我看一些文章说,docker通过diffid在本地查找是否已经存在相同的层。但是我在下载镜像后,无论是根据docker inspect比较,还是在本地中寻找文件名为diffid的文件夹,都并未找到相同sha256的层。
所以想知道docker究竟是如何知道该层已经下载的。
或者说docker inspect中所获得的层sha256和image config中记录的diffid是什么关系。

  • 写回答

1条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 创建了问题 9月15日

      悬赏问题

      • ¥15 sql 时间计算问题
      • ¥15 51单片机按钮控制流水灯
      • ¥15 4元红包8人抢 可以预测尾数 0 9的位置吗
      • ¥20 Java项目在线求解
      • ¥40 Selenium 内核修改
      • ¥15 微信小程序选修课课程作业 急急急今晚10点前
      • ¥15 python写一下 if问题
      • ¥15 opencv c++虚拟画家
      • ¥35 python 生成exe报错问题
      • ¥30 基于香农-费诺-埃利斯编码实现对英文文本的压缩和解压缩