DockerFile优化

本文结合各个前辈的智慧结晶,结合自己理解,使其更容易理解

自己整理的偏向于精简理论,详细点的参考这篇文章

为什么要优化及优化配置

  • 增加构建镜像的速度
  1. 将不需要的文件移出构建镜像的目录,或者是编写.dockerignore文件
  2. 容器只运行单个应用,比如网站架构lnmp,当然也可以将这些统统跑到一个容器里,但是如果将这些分开运行到各个容器,模块化方便调用
  3. 将容易变动的配置文件,放到后面,因为每次构建,凡是改动过的之后的缓存全部都要重新构建
  4. 尽量要指明标签,不要使用latest,latest是默认标签,但是该标签有时经常更新及改动,那么就相当于全部镜像缓存都需要重新构建.
  5. 每运行一条命令之后,删除掉多余的文件
  6. 尽量使用二进制安装程序包,可以减少安装依赖,进而减少体积,并且加快速度
  • 减小docker镜像的体积
  1. 基础镜像选择体积比较小的,一般来说,官方提供的镜像都是比较不错的
  • 减少构建镜像层
  1. 如RUN命令,尽量将相关命令使用&&进行连接,减少镜像层的数量
  • 增加可读性
  1. 添加必要的注释

转载于:https://www.cnblogs.com/joinbestgo/p/11237175.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Dockerfile 是用来构建 Docker 镜像的脚本文件,可以通过优化 Dockerfile 来提高构建速度、减小镜像大小等方面的性能。 以下是一些 Dockerfile 优化的建议: 1. 使用多阶段构建:多阶段构建可以减小镜像大小,加快构建速度。可以将构建过程分为多个阶段,每个阶段只保留必要的文件,并在下一个阶段中使用这些文件。 2. 使用缓存:Docker 构建镜像会使用缓存,如果 Dockerfile 中的某个命令没有发生变化,则可以使用缓存。可以通过在 Dockerfile 中调整命令的顺序来最大化使用缓存。 3. 减小镜像大小:可以使用小的基础镜像,删除不必要的文件和依赖项,并将多个命令合并为一个命令。 4. 使用 ENV 指令定义环境变量:可以使用 ENV 指令来定义环境变量,这样可以在运行容器轻松地改环境变量的值。 5. 使用 COPY 而不是 ADD:COPY 指令比 ADD 指令简单,可预测,并且不会自动提取 tar 文件。 6. 使用 ARG 指令传递参数:可以使用 ARG 指令在构建过程中传递参数,这样可以在构建镜像轻松地改参数的值。 7. 删除不必要的文件:可以使用 RUN 指令删除不必要的文件和依赖项,这样可以减小镜像大小。 8. 合并命令:可以将多个命令合并为一个命令,这样可以减少构建过程中的层数,从而加快构建速度。 9. 使用 --no-cache 选项:可以使用 --no-cache 选项来禁用 Docker 的缓存,这样可以避免使用旧版本的依赖项和文件。 10. 使用最新的基础镜像:可以使用最新的基础镜像,这样可以获得最新的安全新和优化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值