Dockerfile优化建议

1. 减少镜像层

一次RUN指令形成新的一层,尽量Shell命令都写在一行,减少镜像层。

2. 优化镜像大小:清理无用数据

一次RUN形成新的一层,如果没有在同一层删除,无论文件是否最后删除,都会带到下一层,所以要在每一层清理对应的残留数据,减小镜像大小。
比如centos中,用yum安装之后,及时清理缓存

  1. yum clean all && rm -rf /var/cache/yum/*

比如ubuntu中用apt-get安装,可以加上—no-install-recommends这个参数,不安装非必须的依赖包

比如:RUN apt-get update && apt-get install -y —no-install-recommends curl telnet wget python-pip -y && rm -rf /var/cache/apk/ && rm -rf /var/lib/apt/lists/ && apt-get autoremove
pip安装,加上pip —no-cache-dir
RUN pip —no-cache-dir install httpstat