gpt4 book ai didi

docker - docker 的图像层有什么好处?

转载 作者:行者123 更新时间:2023-12-02 19:42:27 24 4
gpt4 key购买 nike

我是Docker的新手。在阅读了一些Docker文档的基础上,我计划按照以下设计将项目转换为Docker镜像:

我的项目具有以下性质:

  • 除非出现大的操作系统问题,否则基本操作系统几乎不需要更新,因此可以说每2年更新一次基本操作系统。
  • 基本库可能仅更新了6个月。
  • 库每个月更新一次。
  • 项目代码每天更新一次。

  • 因此,我计划创建4张图像:
  • image1-基本操作系统
  • image2-从image1并添加基本库
  • image3-从image2添加库
  • image4-从image3并添加项目代码

  • 我的理解是,image4有4层。一旦我构建了新的image4,Docker就只需要拉第4层,因为第1,2,3层与旧的image4相同。由于我的项目代码只是一些文本脚本,因此layer4应该很小,因此拉一个新的image4应该很快。

    我的理解正确吗?

    最佳答案

    Since my project code is just some text scripts, thus layer4 should be very small



    Layer4很小,但是仅当一个人之前已经将图像1到3提取时,提取image4才会很快。

    生成的image4不会很小,但是是3个基本图像串联的结果。

    另外,术语“层”不应掩盖一个事实,即docker文件中的每一行都会创建一个中间镜像,从而使实际镜像成为所有这些中间小层的集合(由每个Dockerfile命令的执行产生)。
    您可能有4个“常规”层,但是实际图像可能由4个以上的层组成。
    您可以使用 imagelayers.io进行检查

    我使用 alias to cleanup old dangling images:
    alias drmiad='docker rmi $(docker images --filter "dangling=true" -q --no-trunc)'

    我的 build script通常包括:
    . ../.bash_aliases

    docker build -t sshd . || exit 1
    drmiad 2> /dev/null

    关于docker - docker 的图像层有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32537235/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com