Dockfile 里的每一个命令的执行都会在基础镜像上加一个新的镜像层,即使创建了一个文件,后面的一个命令又删除了该文件,因为这是两个镜像层,所以最终的镜像文件不会变小,但却看不见这个文件。
比如在 CentOS 基础镜像上安装第三方包,执行 yum 命令会产生索引更新,有缓存生成,这些缓存就会永远滞留在镜像层内。
不过可以执行一条联合命令,获取到包、解压、编译安装最后删除掉:RUN curl -o … && tar … && ln -s && rm … 这样无残留,可以减少镜像层,进而保持镜像小巧。