Dockerfile中COPY添加多个文件或目录区别

1.复制多个文件到同一个目录

1
COPY file1.txt file2.txt /gaga/

这会将file1.txt和file2.txt复制到容器内的/gaga/目录中。

2.复制目录及其内容:

1
COPY dir1 dir2 /gaga/

这会将dir1和dir2两个目录连同它们的内容复制到/gaga/目录下。如果/gaga/目录不存在,Docker会创建它。

3.使用通配符复制文件

可以使用通配符来匹配多个文件:

1
COPY *.txt /gaga/

这会将构建上下文中所有以.txt结尾的文件复制到/gaga/目录。

4.注意事项:

  • 源路径是相对于Dockerfile所在的目录或构建上下文的。
  • 如果目标路径以/结尾,表示这是个目录,否则,目标路径被视为文件名,文件内容将被写入这个文件。
  • 在使用通配符时,确保你的Docker版本支持通配符(较新的Docker版本都支持)。
  • 确保你有权限读取源文件并写入目标位置。