docker图像中有图层的优点是什么?
假设我有两个不同的Docker文件。
-
图像一个叫做nudoc / my-base-image:1.1
FROM ubuntu:16.10 COPY . /test.war
-
图片二称为nudoc / my-testrun-image:1.1
FROM acme/my-base-image:1.1 CMD /test/start.sh
两者都有共同的层次。
在Docker镜像中使用图层有什么好处? 它从registry中获益吗?
正如亨利所说的那样
公共图层只下载一次,只存储一次。 所以这对下载和存储都有好处。
如果创build命令允许,另外构build一个图像将重用图层。 这减less了构build时间。 例如,如果将文件复制到图像中,并且该文件与上一次构build中的文件相同,则旧图层将被重用。 有关更多详细信息,请参阅编写dockerfiles的最佳做法 。
公共图层只下载一次,只存储一次。 所以这对下载和存储都有好处。
一个图层将被下载一次,并可能重新用于其他图像。 您可以将它们看作中间图像,并将这些中间图像组合在一起以创build更大的图像。 在持续集成中,这可以节省相当长的一段时间!
我build议你阅读官方文档页面: https : //docs.docker.com/engine/userguide/storagedriver/imagesandcontainers/
Docker使用aufs
文件系统作为默认,其中Dockerfile
定义的每条指令将作为每个单独的层,如果您添加或更新指令,它将影响相应的层,因此它可以帮助您立即构build,重用或更新Docker映像,了解更多关于层和图像阅读这里