Dockerfile中'COPY'和'ADD'命令的区别是什么?

发布时间 2023-10-30 23:13:19作者: 小满独家

内容来自 DOC https://q.houxu6.top/?s=Dockerfile中'COPY'和'ADD'命令的区别是什么?

Dockerfile中COPYADD命令的区别是什么,以及何时使用其中一个而不是另一个?

COPY <src> <dest>

COPY指令将从<src>复制新文件,并将它们添加到容器的文件系统路径<dest>

ADD <src> <dest>

ADD指令将从<src>复制新文件,并将它们添加到容器的文件系统路径<dest>


你应该查看ADDCOPY文档以获得更详细的描述,但简而言之,主要区别在于ADD可以做比COPY更多的事情:

  • ADD允许<src>是一个URL
  • 下面引用的注释表明:

如果是一个被识别的压缩格式(identity、gzip、bzip2或xz)的本地tar存档,则将其解压缩为一个目录。来自远程URL的资源不会被解压缩。

注意,在编写Dockerfile的最佳实践建议中,如果不需要ADD的魔法,应该使用COPY。否则,你可能有一天会意外地将keep_this_archive_intact.tar.gz复制到容器中,而是将内容喷到你的文件系统中。