自己写 dockerfile,编译某个软件,编译的过程中 apt-get 装了一大堆依赖,下载了大量东西。
编译完成后我就用 apt-get autoremove 把所有不必要的依赖全删了。
镜像生成后用docker images
查看,有 1.8G。然后用该镜像生成容器,进入容器内部,用du -sh /
查看,其实才 300 多 M。
所以其实那些依赖确实已经删除了,但镜像文件依旧很大,可能是 docker 镜像某一层里这些编译过程还是没有删。
如此说来,那我 autoremove 不就没有必要了么?为什么我看官方几乎所有的镜像,编译的时候还是会 autoremove ?这种没必要的编译过程仍然被记录下来,会不会挤爆 dockerhub ……
而且我发现,docker 官方的一些镜像,虽然也都是手工编译的,但其大小好像也都不大啊,一般就 100MB,比如 httpd 压缩以后才 60 多 M,这是怎么做到的。。。
如果我想把自己编译的镜像全部保存到本地(用 docker save ),如何才能尽量减小他们的体积?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.