Docker的形象太大,怎么变小?

你可以慢慢体会上面的对话。但无论如何,对于已经拥抱SSD的同学来说,在珍贵的SSD上存储50个大小在800MB左右的Docker镜像是绝对不能接受的!!但是从Docker Hub下载的大部分图片都是这个数字,甚至比这个数字大得多。看着磁盘空间逐渐被Docker蚕食,楼主决定对Docker文件进行瘦身。事实证明,效果显著。请看下图。

颤抖吧,凡人!100MB的Redis压缩到只有7MB!!!

首先,纠正基本概念:

1.Docker不是虚拟机(记住)

2.Docker中的程序运行时不需要完整的操作系统!

3.科里奥斯、RHEL、乌班图、CentOS等。,都是一个操作系统!

怎么做,基本就是以下几个步骤。

1.使用Busybox的Install命令创建一个最小化的系统环境。

2.删除各种不必要的系统文件,哪些是不必要的,然后需要具体程序具体分析。楼主花了很多时间分析每个程序,现在楼主几乎可以倒背如流的背出这些app的依赖关系了。

3.把这些文件打包到rootfs.tar?

4.使用Dockerfile的ADD指令生成带有rootfs.tar的图像。

楼主停止编码,开始编码,

1.基于Redis 2.8.13,生成一个最简单的rootfs.tar。

Dockerfile文件

2.使用此rootfs.tar生成最小的Redis图像文件。

Dockerfile文件

3.试一试

docker run-RM-it-p 6379:6379 microbox/redis

这种方法生成的图像与普通的redis图像没有区别。好好享受吧,楼主已经先放出30GB空间了。