为什么我自己在docker上创建的mysql映像那么大?

在制作镜像的过程中,要注意以下几点:

1.文件系统是UnionFs,Dockerfile中每次运行都会生成一个层。所以我们需要在每次运行后清理生成的数据。因为生成的结果(3G的大小)是所有级别大小的线性叠加。

2.为什么官方镜像普遍很小?我们以mysql:5.6为参考来分析一下:

运行apt-get更新& amp& ampapt-get install-y perl-no-install-recommended & amp;& ampRm -rf /var/lib/apt/lists/*更新build后,apt的缓存包文件被删除。一般来说,这个文件夹会根据情况占用大约100M。

运行{...& amp& ampapt-get更新。& ampapt-get安装-y

MYSQL-server = " $ { MYSQL _ VERSION } " & amp;& ampRM-RF/var/lib/apt/lists/* & amp;& amp空间

-RF/var/lib/MySQL & amp;& ampMkdir -p /var/lib/mysql在安装db后照常删除缓存的包文件。删除/var/lib/mysql可以清除示例数据库。

让我们看看在hub.docker.com最常用的vim包,我们发现haron/vim映像是用于300M的基本映像。

在hub.docker.com上粗略搜索后,我没有找到基于centos的mysql图片。个人估计是缓存的包没有被删除,导致出现问题。

至于@ ShawnTaoo兄弟提到的基本图像大小,我也做了一个调查:Centos:最新190+MB,Debian: Jessie: 130+MB,Ubuntu:最新180+MB。