Dockerfile副本vs";码头工人跑。。。cp";

Dockerfile副本vs";码头工人跑。。。cp";,docker,dockerfile,docker-build,docker-run,Docker,Dockerfile,Docker Build,Docker Run,我们有一个构建管道,它首先使用dockerfile进行docker构建。该dockerfile有许多复制命令。我们还有一个后续步骤,使用“cp”命令运行docker,如下所示: docker运行--volume/hostDirA:/containerDirB--workdir/folderB dockerepo:somebuildnumcp-R/hostDirC//集装箱驾驶员B 首先,在讨论要点之前,我的理解是cp命令正在从一个文件夹复制到另一个文件夹,这两个文件夹都位于容器上。这是正确的理解

我们有一个构建管道,它首先使用dockerfile进行docker构建。该dockerfile有许多复制命令。我们还有一个后续步骤,使用“cp”命令运行docker,如下所示:

docker运行--volume/hostDirA:/containerDirB--workdir/folderB dockerepo:somebuildnumcp-R/hostDirC//集装箱驾驶员B

首先,在讨论要点之前,我的理解是cp命令正在从一个文件夹复制到另一个文件夹,这两个文件夹都位于容器上。这是正确的理解吗


其次,当docker构建中已经通过dockerfile进行了复制时,为什么要在docker运行中以这种方式执行cp?是否有正当理由不将此cp移动到dockerfile中?

HostDirA和HostDirC之间的关系如何?如果一个在另一个下面,你需要证明这一点。Dockerfile中还有其他卷规格吗?
COPY
在创建新层时适用<当您将内容从容器复制到卷上时,code>cp是合适的。需要说明的是,
docker run cp
不会创建新层。因此,它不能替代
复制
指令。如果
containerDirB
的路径中有一个符号链接,它应该会落在一个卷上,这也会使它更有意义。也就是说,“为什么这个预先存在的代码是这样写的?”问题通常要求我们成为读心术者,这就是其中之一。有时会有额外的情况(如上面提到的符号链接可能性)。有时写这封信的人只是犯了一个错误。找出哪些需要调查上下文——什么代码依赖于发生的
cp
,它是如何被调用的,何时被调用的,它是否真的按预期工作?--这不适合我们的格式。你能稍微澄清一下目录名吗?如果
cp
源文件夹是映像中的某个内容(不是主机目录),而其目标文件夹是第二个
--volume
目录,则这似乎是在尝试将映像构建中的数据复制到主机。