首页 > 解决方案 > COPY 命令是否创建中间容器?

问题描述

该命令是否像COPY命令一样创建一个中间容器来复制文件RUN?我在文档中没有找到任何对此的参考。

标签: dockerdockerfile

解决方案


它实际上并没有创建容器。

在经典构建器中,Builder.performCopy()通过组装增强图像的步骤:获取基础图像,创建新层,实际将文件复制到新层,然后构建新图像。虽然有一个名为runConfigWithCommentCmdthis 的变量,但它只是设置在docker history.

相比之下,dispatchRun()它实际上经历了创建和启动容器的机制。请记住,容器从根本上包装了单个命令,并且在COPY没有可以运行的明显命令的情况下(就此而言,也不能保证容器中有任何可运行的命令;考虑一个FROM scratch图像)。


推荐阅读