美文网首页
9. Docker引擎 - 写Dockerfile的最佳实践

9. Docker引擎 - 写Dockerfile的最佳实践

作者: yi_zhe | 来源:发表于2016-12-30 14:59 被阅读0次

通用的指导原则

  • 容器应该是朝生暮死的
    也就是容器应该可以随时被终止和销毁, 能够快速的使用一个新的容器替代老容器

  • 使用.dockerignore文件
    为了提高编译效率, 使用.dockerignore文件设置忽略文件

  • 避免安装不必要的软件包
    为了减小复杂性, 依赖关系, 文件尺寸和编译次数, 尽量避免安装额外的不必要的软件包

  • 每一个容器只允许一个进程
    将应用程序解耦为多个容器

  • 减少层数

  • 把多行参数排序, 如

RUN apt-get update && apt-get install -y \ 
 bzr \ 
 cvs \ 
git \ 
mercurial \ 
subversion
  • 编译缓存
    使用--no-cache=true可以不使用缓存

    缓存使用策略

    1. 如果基础镜像在缓存中, 那么下一条指令和该基础镜像的所有子镜像对比, 查看是否有使用完全相同的命令构建的子镜像, 如果有则使用缓存的子镜像, 否则缓存失效.
    2. 大部分的情况下简单的比较指令就完全够用了, 但是一些特殊的指令需要一些特殊的检查.
    3. 对于ADD和COPY指令, 镜像中的文件都会计算一个校验和, 但最近的修改和访问时间不会计算在校验和中, 然后与已有镜像中的文件对比, 如果有任何修改, 缓存就失效了
    4. 除了ADD和COPY指令, 缓存检查不会检查容器中的其他的文件进行缓存校验了

相关文章

  • 9. Docker引擎 - 写Dockerfile的最佳实践

    通用的指导原则 容器应该是朝生暮死的也就是容器应该可以随时被终止和销毁, 能够快速的使用一个新的容器替代老容器 使...

  • 8、Docker-dockerfile-定制镜像

    一、什么是DockerFile 官方DockerFile最佳实践Docker可以通过从dockerfile文件中读...

  • Dockerfile 最佳实践

    Docker 官方关于 Dockerfile 最佳实践原文链接地址 https://docs.docker.com...

  • Dockerfile 最佳实践

    Docker官方关于Dockerfile最佳实践原文链接地址:https://docs.docker.com/de...

  • 编写 dockerfile 最佳实践

    docker 官方文档推荐使用Dockerfile构建镜像的最佳实践。 创建短生命周期容器 基于Dockerfil...

  • Docker 入门(一)

    Docker 简介 Docker 基本概念(镜像,容器,仓库) Docker 引擎 基于Dockerfile 镜像...

  • Docker实践

    Docker实践 命令方式 Dockerfile方式 dockerfile-1 dockerfile-2 dock...

  • Dockerfile 最佳实践

    1.不安装不必要的包, nice to have的包可以不用有。 2.一个container解决一个问题。这样co...

  • Dockerfile最佳实践

    在生产环境中一般我们会对基本的环境进行自构建,从而利用images的分层特性去层层构建上层的业务镜像。 1.默认情...

  • Dockerfile最佳实践

    感谢光顾,简书停更,迁移至sengmentfault:https://segmentfault.com/a/119...

网友评论

      本文标题:9. Docker引擎 - 写Dockerfile的最佳实践

      本文链接:https://www.haomeiwen.com/subject/hiemvttx.html