"构建的镜像尽可能小,构建速度尽可能快"。
dockerfile的优化原则简而言之为:"构建的镜像尽可能小,构建速度尽可能快"。
(1)编译速度快
1)将不经常变更的指令放在靠前位置,频繁修改的指令靠后写,从而达到可以充分利用缓存镜像的目的;
2)在不影响功能的前提下,可以合并多条指令,减少镜像的层数,从而减少中间容器的启动;
3)使用".dockerignore"来忽略不需要发送给docker daemon进程的文件;
4)修改软件源地址,比如yum,apt,apk源建议使用国内的,可以明显看出来速度的提升;
(2)镜像体积小
1)删除缓存文件,比如"rm -rf /var/cache/yum"
2)卸载无用的软件包,比如编译安装后的编译器,下载的软件包等都可以被卸载哟;
3)使用较小的基础镜像,比如alpine;