dockerfile最佳实践

dockerfile最佳实践

  • Docker映像由只读层组成,每个只读层代表一个Dockerfile指令。这些层是堆叠的,每个层都是上一层的变化的增量。

  • 减少构建时间:镜像的构建顺序很重要,当你向 Dockerfile 中添加文件,或者修改其中的某一行时,那一部分的缓存就会失效,该缓存的后续步骤都会中断,需要重新构建。所以优化缓存的最佳方法是把不需要经常更改的行放到最前面,更改最频繁的行放到最后面

  • 只拷贝需要的文件,防止缓存溢出

  • 最小化可缓存的执行层,每一个 RUN 指令都会被看作是可缓存的执行单元。太多的 RUN 指令会增加镜像的层数,增大镜像体积,run多个命令可以写在一起,形如:RUN apt-get update && apt-get install -y

  • 删除包管理工具的缓存,在每一个 RUN 指令的末尾删除缓存。如果你在下一条指令中删除缓存,不会减小镜像的体积。

  • 使用更具体的标签,基础镜像尽量不要使用 latest 标签,在 Dockerfile 中最好指定基础镜像的具体标签

  • 要排除与构建无关的文件,请使用.dockerignore文件。该文件支持类似于.gitignore文件的排除模式。

  • 使用多阶段构建,多阶段构建可以大幅度减小最终镜像的大小

  • 不要安装不必要的软件包,镜像构建过程中生成的临时文件可以在dockerfile中使用rm删除

参考文档:https://docs.docker.com/develop/develop-images/dockerfile_best-practices/


文章作者: BY 木易杨
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 BY 木易杨 !
评论
 上一篇
日常生活知识 日常生活知识
此篇主要介绍日常生活中的一些知识 关于防火知识火灾 火灾形成条件:氧气,温度,易燃物,以上三者称为火灾三角形 火灾发展过程: 初期:燃烧 成长:可燃物会溶化,有的还会发生裂解,形成有毒物质,同时还会生成炭颗粒(烟),可能会生成一氧化碳
2019-10-25 BY 木易杨
下一篇 
发布相关知识 发布相关知识
预发布: 线上用户没有入口,只有内部工程师有入口 工程师配置host访问预发布服务器 支付等避免出现问题:打款配置1块钱,上线时要确认是否修改 发布: 发布日期:周一,周二准备,周三发布,周四周五发现问题处理 火车头自动发布模型:定时运行,
2019-10-23 BY 木易杨