Dockerfile 中的COPY和命令有什么区别,我什么时候可以使用其中一个?ADD
COPY
ADD
COPY <src> <dest>
COPY 指令将从<src>路径复制新文件并将它们添加到容器的文件系统中<dest>
<src>
<dest>
ADD <src> <dest>
ADD 指令将从<src>路径复制新文件并将它们添加到容器的文件系统中<dest>。
您应该查看ADD和COPY文档以获取对其行为的更详细描述,但简而言之,主要区别在于ADD可以做的更多COPY:
如果是可识别压缩格式(identity、gzip、bzip2 或 xz)的本地 tar 存档,则将其解压缩为目录。来自远程 URL 的资源不会被解压缩。
请注意,编写 Dockerfile 的最佳实践建议在不需要COPY魔法的地方ADD使用。否则,当您打算复制到容器中时,您(因为您必须查找此答案keep_this_archive_intact.tar.gz)可能会感到惊讶,而是将内容喷到您的文件系统上。
keep_this_archive_intact.tar.gz