当前位置:   article > 正文

dockerfile的优化_dockerfile 多个env 合并成一行

dockerfile 多个env 合并成一行
  1. 主要把run命令进行组合,都写到一行:

    合并dockerfile中可合并的指令,减少最终生成镜像的层数。

    因为docker镜像制作是一层一层构建的,一条语句就会创建一个新层。层数越多,体积越大。所以减少语句即会减小镜像体积,可以用 “&&” 将多条命令连接起来

  2. 清除缓存和临时文件:
    在镜像构建过程中,可能会适用apt-get或yum等方式进行包的安装,在完成后系统会残留一些不必要的文件,或者适用源代码进行编译某些应用时,源代码文件夹将会存放在镜像中,在镜像构建的最后步骤,可以将这些不必要的文件进行删除。

  3. 镜像服务化:
    当有多个服务时,分开多个镜像去运行这些服务,各司其职,例如在同一个镜像中打包了Apache httpd、MySQL、PHP,这无疑造成该镜像耦合性太差且体积臃肿。建议采用不同的镜像去托管不同的应用。

  4. 删除构建目录额外的文件
    在构建镜像时将会上传构建文件夹中的所有文件,但有时不是全部的文件都是构建所需的,可以通过.dockerignore文件进行过滤,这将提高构建的速度及镜像的大小。

  5. 优化网络请求
    在构建镜像过程中,可能有指令需要使用网络去实现下载、安装等操作,由于网络的不确定性,可能会造成构建过程较久,而且构建的时间不一等问题,建议采用本地化引用网络资源来解决问题,例如Centos使用yum进行软件包的管理时,可以通过Nexus进行本地代理,从而减少网络请求的问题。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/58062
推荐阅读
相关标签
  

闽ICP备14008679号