提交后,Docker映像大小与容器大小不匹配

最近,我从一个运行jboss的centos基础映像创build了一个docker容器。 本来我已经安装了使容器笨重(约850米)的jdk(和承诺)。 后来我卸载了jdk并安装了jre。 从容器内部a

du -xsh / 

只显示了440M。 但是在对图像进行修改后仍然显示711M。 图像大小是否与容器的du (或接近) 不一致 ? 或者在提交时,docker工人是否继续添加到旧的(如SCM)?

谢谢

我想你会发现这个问题很容易解决,如果你使用Dockerfiles来build立你的图像,而不是提交方法。 如果您使用的是Dockerfiles,则只需删除添加了JDK的RUN命令,然后重新生成。 这将摆脱以前的层次。

回答我自己的问题。 看起来,每当提交图像时,Docker都会向基本图像添加图层。 然而,你很less让你的容器提交到基地只是添加一个新的图层,总是要膨胀的图像。 这种方法的问题是,当您修改并提交基础映像时,最终会将不需要的图层添加到生产中。 我可以看到没有官方的方式来合并图层。 但是这个链接似乎有一些解决方法。 但是,我只是重新创build了一些基本的东西,只提交了一次,使得图像大小非常接近容器大小。