Fork me on GitHub

在Dockerfile中使用COPY指令

COPY指令:
1
COPY <src>  <dest>

我们在使用dockerfile构建docker镜像时,通常会用到COPY指令。COPY指令用于将系统本地的文件拷贝至docker镜像中。但是其中有一个地方需要特别注意:即build上下文.

在使用 docker build 命令通过 Dockerfile 创建镜像时,会产生一个 build 上下文(context)。所谓的 build 上下文就是 docker build 命令的 PATH 或 URL 指定的路径中的文件的集合。在镜像 build 过程中可以引用上下文中的任何文件,比如我们要介绍的 COPY 命令,就可以引用上下文中的文件。

默认情况下 docker build -t custom . 命令中的 . 表示build上下文为当前目录。

当然我们可以指定一个目录作为上下文,比如:

1
$docker build -t custom /home/linaro
注意事项:

在使用COPY指令时,本地的源文件要位于build上下文中。

如果build上下文是当前目录,则源文件要位于dockerfile所在的当前目录

例如:

1
2
WORKDIR /work
COPY snmp .

snmp目录要位于dockerfile所在的目录中

否则build过程中会报错:

您的鼓励是我持之以恒的动力