Docker 层 - 官方文档中没有明确说明

问题描述 投票:0回答:1

多年来,我一直认为 Docker 文件中的每一条指令都会创建一个镜像层。官方文档强化了这一点:https://docs.docker.com/build/cache/

但是,在官方文档本身中,我看到另一个页面,其中特别提到创建镜像层的唯一 DockerFile 指令是:ADD、COPY 和 RUN。根据本页,其余 DockerFile 指令仅创建一些中间映像,因此不会影响映像的整体大小。 这是提到这一点的页面:https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#minimize-the-number-of-layers

我现在很困惑。最新版本的 Docker 引擎的实际行为是什么?

如有任何建议,我们将不胜感激。

提前致谢。

docker dockerfile docker-container
1个回答
0
投票

一般来说,任何修改文件系统的 Dockerfile 指令都会创建一个新层。

特别是,指令

RUN
COPY
ADD
主要影响最终 Docker 映像的大小并始终创建层。

某些指令,例如以

LABEL
ENTRYPOINT
CMD
指令开头的指令,不会修改文件系统,因为它们只是向映像添加元数据或配置,因此不会添加任何层增加了 Docker 镜像的文件大小,但仅创建大小为 0B 的临时中间层。

您可以使用命令历史记录:

docker history <image-name> 

检查组成图像的图层的详细信息、说明及其尺寸。

© www.soinside.com 2019 - 2024. All rights reserved.