最近,我从运行jboss的centos基本映像创建了一个docker容器。最初,我安装了jdk(并已提交),该容器使容器体积庞大(约850M)。后来,我卸载了jdk并安装了jre。从容器内部
du -xsh /
仅显示440M。但是将更改提交到映像后,它仍然显示711M。图像尺寸是否应与容器的 du 不匹配(或接近)?还是在提交时,码头工人会继续添加旧版本(例如SCM)吗?
谢谢
回答我自己的问题。似乎无论何时有人提交给镜像,docker都会继续在基础镜像上添加层。但是,让您的容器将其提交到基础的工作很少,只会在现有图像之上添加一个新层,而该层总是会膨胀该图像。这种方法的问题是,当您进行修改并提交到基本映像时,最终将不必要的图层带到了产品中。我看不到任何正式的方法来合并图层。但是此链接中似乎有一些解决方法。但是,我只是从基础重新创建了所有内容,只提交了一次,这使得图像大小非常接近容器大小。