Docker镜像比其文件系统大
我有一个Docker镜像,我从几个图层和一个debian:jessie基础镜像,我正在努力缩小。 我添加了一个清理层比apt-get remove
一堆包并从文件系统中删除文件。 当我运行所得到的图像,并在里面做的时候,我可以看到它大约是1.3GB
。 但是,当我在2.2GB
docker images
查看镜像大小时,它大于2.2GB
,这是清理层之前的镜像大小。 为什么最后的形象不会变小?
你不能有一个清理层 – 联盟文件系统不能这样工作。 如果文件存在于第1层,并且在第2层中删除它们,所有Docker在运行容器时都会隐藏已删除的文件。 一旦文件被保存到图像层,它们不能从该图层中删除。
您可以尝试使用Docker压缩工具来减less最终的图像大小,或者根据Titouan Freville的评论重做Dockerfiles – 在一个RUN语句(更新,安装删除)中执行所有的APT命令。 这样当图像图层被保存时,文件已经被清除了。