内容来自 DOC https://q.houxu6.top/?s=Dockerfile中'COPY'和'ADD'命令的区别是什么?
Dockerfile中COPY
和ADD
命令的区别是什么,以及何时使用其中一个而不是另一个?
COPY <src> <dest>
COPY
指令将从<src>
复制新文件,并将它们添加到容器的文件系统路径<dest>
。
ADD <src> <dest>
ADD
指令将从<src>
复制新文件,并将它们添加到容器的文件系统路径<dest>
。
你应该查看ADD
和COPY
文档以获得更详细的描述,但简而言之,主要区别在于ADD
可以做比COPY
更多的事情:
ADD
允许<src>
是一个URL- 下面引用的注释表明:
如果是一个被识别的压缩格式(identity、gzip、bzip2或xz)的本地tar存档,则将其解压缩为一个目录。来自远程URL的资源不会被解压缩。
注意,在编写Dockerfile的最佳实践建议中,如果不需要ADD
的魔法,应该使用COPY
。否则,你可能有一天会意外地将keep_this_archive_intact.tar.gz
复制到容器中,而是将内容喷到你的文件系统中。