在docker镜像中拥有图层有什么好处?

时间:2017-08-14 13:54:11

标签: docker

假设我有两个不同的Dockerfiles。

  1. 图片名为nudoc / my-base-image:1.1

    FROM ubuntu:16.10
    COPY . /test.war
    
  2. 图片二名为nudoc / my-testrun-image:1.1

     FROM acme/my-base-image:1.1
     CMD /test/start.sh
    
  3. 两者都有共同的层次。
    在docker镜像中使用图层有什么好处?它是否从注册表中获益?

4 个答案:

答案 0 :(得分:0)

公共图层仅下载一次,仅存储一次。所以这对下载和存储都有好处。

答案 1 :(得分:0)

图层将下载一次,并可能重复用于其他图像。您可以将它们视为中间图像,并将这些中间图像组合在一起以创建更大的图像。 在持续集成中,这可以节省相当多的时间!

我建议您阅读官方文档页面:https://docs.docker.com/engine/userguide/storagedriver/imagesandcontainers/

答案 2 :(得分:0)

亨利已经说过了

  

公共图层仅下载一次,仅存储一次。所以这对下载和存储都有好处。

如果创建命令允许,另外构建图像将重用图层。这减少了构建时间。例如,如果将文件复制到图像中,并且文件与上一次构建中的文件相同,则将重复使用旧图层。有关详细信息,请参阅best practices for writing dockerfiles

答案 3 :(得分:0)

Docker使用aufs文件系统作为默认值,其中Dockerfile中定义的每条指令将作为每个单独的层,如果添加或更新指令,它将影响相应的层,因此它可以帮助您立即构建,重用或更新Docker镜像,以了解有关图层和图像读取的更多信息here