在没有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
现在应该显示一个单一的图层。