梦想丶者 2022-09-15 19:30 采纳率: 0%
浏览 47

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条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-15 20:19
    关注
    评论

报告相同问题?

问题事件

  • 创建了问题 9月15日

悬赏问题

  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示
  • ¥15 扫描项目中发现AndroidOS.Agent、Android/SmsThief.LI!tr
  • ¥15 怀疑手机被监控,请问怎么解决和防止
  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译