云计算核心技术Docker教程:Dockerfile文件COPY命令详解

注册 Vultr VPS 送你10美金 免费玩4个月

Dockerfile文件COPY指令作用是将从构建上下文目录中 <源路径> 的文件/目录复制到新的一层的镜像内的 <目标路径> 位置。

timg

语法格式

COPY 源路径… 目标路径

COPY [“源路径1”,… “目标路径”]

COPY指令和 RUN 指令一样,也有两种格式,一种类似于命令行,一种类似于函数调用。

COPY 指令可以将源路径的文件复制到新的一层的镜像内的目标路径位置,例如:

COPY package.json /usr/src/app/

源路径可以是多个,甚至可以是通配符,其通配符规则要满足 Go 的 filepath.Match 规则,如:

COPY hom* /mydir/

COPY hom?.txt /mydir/

目标路径可以是容器内的绝对路径,也可以是相对于工作目录的相对路径(工作目录可以用 WORKDIR 指令来指定)。目标路径不需要事先创建,如果目录不存在会在复制文件前先行创建缺失目录。

此外,还需要注意一点,使用 COPY 指令,源文件的各种元数据都会保留。比如读、写、执行权限、文件变更时间等。这个特性对于镜像定制很有用。特别是构建相关文件都在使用 Git 进行管理的时候。

注册 Vultr VPS 送你10美金 免费玩4个月