网站建设对企业的作用,购物网站建设行业现状,局网站建设方案,html登录页面设计代码Image ID是在本地由Docker根据镜像的描述文件计算的#xff0c;并用于imagedb的目录名称
docker镜像id都保存在/var/lib/docker/image/overlay2/imagedb/content/sha256下面#xff0c;都是一些以sha256sum计算文件内容得出的哈希值的文件。
#ls /var/lib/docker/image/ove…Image ID是在本地由Docker根据镜像的描述文件计算的并用于imagedb的目录名称
docker镜像id都保存在/var/lib/docker/image/overlay2/imagedb/content/sha256下面都是一些以sha256sum计算文件内容得出的哈希值的文件。
#ls /var/lib/docker/image/overlay2/imagedb/content/sha256/f9499facb1e8c3c907d82f50441b8da45115c4314a9c175c8b3797e489c1cf1e -al
-rw------- 1 root root 1784 Mar 27 2021 /var/lib/docker/image/overlay2/imagedb/content/sha256/f9499facb1e8c3c907d82f50441b8da45115c4314a9c175c8b3797e489c1cf1e#docker images| grep f94
xxx/library/k8s.gcr.io/metrics-server-noarch v0.3.6 f9499facb1e8 3 years ago 38.3MB对比上面可以发现/xxx/sha256值和镜像Id一样计算imageID的值
#sha256sum /var/lib/docker/image/overlay2/imagedb/content/sha256/f9499facb1e8c3c907d82f50441b8da45115c4314a9c175c8b3797e489c1cf1e
f9499facb1e8c3c907d82f50441b8da45115c4314a9c175c8b3797e489c1cf1e /var/lib/docker/image/overlay2/imagedb/content/sha256/f9499facb1e8c3c907d82f50441b8da45115c4314a9c175c8b3797e489c1cf1e查看镜像信息
#cat /var/lib/docker/image/overlay2/imagedb/content/sha256/f9499facb1e8c3c907d82f50441b8da45115c4314a9c175c8b3797e489c1cf1e | jq
上面的命令和docker inspect imageID的输出内容是一致的docker inspect信息保存在了/var/lib/docker/image/overlay2/layerdb/mounts下
# cd /var/lib/docker/image/overlay2/layerdb/mounts
# cd container-id //某个容器的id
# ls发现里面有init-id、mount-id、parent三个文件。 init-id存储了init层的编号和mount-id一致。 parent包含了最高层的chainID也就是说通过最高层的chainID再找其真正的cache-id
3dd8c8d4fd5b59d543c8f75a67cdfaab30aef5a6d99aea3fe74d8cc69d4e7bf2 chainID 也就是说chainID为逻辑上的实际使用的为cache-id. mount-id # cat mount-id // 查看mount id号
# mount | grep overlay
# cd /var/lib/docker/overlay2/mount-id
包含了一个文件lower它指定了他的底层父层diff文件夹也是存储了这个层的具体内容merged文件夹包含了它和它的底(父)层的合并内容这就是镜像容器的所有内容work文件夹提供Overlay内部使用
镜像ID的生成过程参考https://github.com/distribution/distribution/blob/main/docs/spec/api.md