Hash Docker图层信息发布v1.10

Hash Docker图层信息发布v1.10,hash,docker,Hash,Docker,我曾经使用Docker history命令检查图像中图层的大小,但由于1.10迁移到内容哈希,现在显示的是“缺少”而不是图层ID 现在,我通过以下命令检索图像中所有层的哈希值: docker pull ubuntu ID=$(docker inspect -f {{.Id}} ubuntu) sudo jq .rootfs.diff_ids /var/lib/docker/image/aufs/imagedb/content/$(echo $ID|tr ':' '/') 这将返回ubuntu图

我曾经使用Docker history命令检查图像中图层的大小,但由于1.10迁移到内容哈希,现在显示的是“缺少”而不是图层ID

现在,我通过以下命令检索图像中所有层的哈希值:

docker pull ubuntu
ID=$(docker inspect -f {{.Id}} ubuntu)
sudo jq .rootfs.diff_ids /var/lib/docker/image/aufs/imagedb/content/$(echo $ID|tr ':' '/')
这将返回ubuntu图像中所有层的内容哈希列表:

"diff_ids": [
  "sha256:2a4049cf895d2384cb93d19f46f0d62560a48b2b202787edad2dc6e4b95a923a",
  "sha256:01fbb4b5fa1b76ccdc289de098ea61925c7f8d3364159761720617b096f27bcc",
  "sha256:d3492de15d7c87ea9db9ab123214d334f4bcb1e40846b77beebb4c37dd134a45",
  "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef"
],
在/var/lib/docker/image/aufs/layerdb/sha256/中,我看到了有关每个层的信息,例如父层和大小,但我注意到此文件夹中的差异ID与上述输出不同:

> ls /var/lib/docker/image/aufs/layerdb/sha256/
2088e4744016dbe95308d1920060f1fbc4a095ba5b9517d758745fc3986f2632
2a4049cf895d2384cb93d19f46f0d62560a48b2b202787edad2dc6e4b95a923a
8c63d05abe660a2f3f04d754de3ee3d927a17b3623a8e2be6d727e697f4b1e10
f747ac597de13b7f1ff918874f80bb83004232d7d6d4d45ad8890b58cdc79adc
然后我尝试检查另一个文件夹,如/var/lib/docker/aufs/layers:

> ls /var/lib/docker/aufs/layers#
58e7ed1f6d4ba047c9c714e66f10c014008ef4aa133d334198b8b1b7673f16e7
c4dd5a81188e36457624849aaeea74d98ef571390db75d4a03efb5bccb8c04e3
d31f918b7f59fcf768a9ae609141152cd5ae63943aac042429e3d2e04d472bcc
e576c6d41b96bd6a47233a6c6ec2f586021aa945aae6bd0e73ab9d4ad051a94e
正如您所看到的,这是另外4个内容哈希。有人能告诉我所有这些散列之间的联系是什么,以及我如何找到Ubuntu图像每一层的大小吗?我希望能够将第一个输出中的每个diff_id与大小匹配,但我不知道不同文件夹中的所有diff_id是如何关联的


编辑:我是这样解决的-/var/lib/docker/image/aufs/layerdb/sha256/还包含一个名为“diff”的文件,其中包含与第一个命令的输出相对应的diff_id。我使用此输出将大小映射到正确的diff_id。

我这样解决:/var/lib/docker/image/aufs/layerdb/sha256/还包含一个名为“diff”的文件,其中包含与第一个命令的输出相对应的diff_id。我使用此输出将大小映射到正确的diff_id。

我这样解决:/var/lib/docker/image/aufs/layerdb/sha256/还包含一个名为“diff”的文件,其中包含与第一个命令的输出相对应的diff_id。我使用这个输出将大小映射到正确的diff_id