在没有Dockerfile的情况下减lessdocker镜像的大小

我几周前创build了一个图片,而不使用本教程使用Dockerfile。

基本上,你从一个图像运行一个容器,编辑这个容器,然后将其保存为新的图像,退出,提交和推送。 起初,我的形象在规模上有点可以接受,但现在却以我不明白的方式成长起来。

例如,如果我需要编辑我的图像,我会:

  • docker run --name mycontainer -it from/currentimage bash
  • 编辑一个文件或configuration一些东西
  • 出口
  • docker commit from/currentimage
  • docker push from/currentimage

问题是,改变文件中的一行,使图像变大了〜250MB。 我究竟做错了什么?

从那里,我怎么能减less那些我认为无用的图层呢? SO上的其他答案总是使用Dockerfile或重新configuration它。 我的情况没有。

谢谢

我无法告诉你为什么你的形象增长得比你期望的快。 您可以使用导出/导入机制来平铺图层,这可能会减less图像大小:

 docker create --name foo from/currentimage docker export foo | docker import - from/currentimage:flat docker rm foo 

docker inspect from/currentimage:flat现在应该显示一个单一的图层。