我已经在CentOS 7(Docker版本1.13.1,Build b2f74b2)和基于相同Dockerfile的Fedora 29(v18.09.3)节点上构建了Docker映像,并且还交叉检查了Dockerfile具有相同的哈希值>
sha256sum Dockerfile | cut -b 1-16
38e6a42c5c01a1ac
并使用
构建容器docker build --build-arg RUN=20190503.centos -t container:20190503.centos .
为了进行比较/以后加载,我将图像保存到了tarball中。
docker save --output /var/tmp/image_20190503.desktop.tar batch:20190503.desktop
我曾期望,最终的tarball的大小应与基于相同Dockerfile的文件相同。 Bowever,图像tarball差异很大
container 20190503.desktop 2e3e545f245d About an hour ago 6.6 GB
container 20190503.centos afebf959a752 About an hour ago 9.7 GB
-rw------- 1 root root 9,2G May 3 12:44 /var/tmp/container_20190503.centos.tar
-rw------- 1 root root 6,3G May 3 12:53 /var/tmp/container_20190503.desktop.tar
(大尺寸是由于不幸的“外部”要求所致)
(同样,Docker在整个层空间上的大小估算似乎与最终的tarball有点矛盾)
有理由吗,为什么在使用相同版本的Dockerfile但在不同版本的Docker / OS上构建Docker映像时,保存的映像应该具有不同的大小?
答案 0 :(得分:0)
尝试使用docker history <image_id>
来查看每个版本中的哪些层大小不同。