为了账号安全,请及时绑定邮箱和手机立即绑定

Dockerfile中的“ COPY”和“ ADD”命令有什么区别?

Dockerfile中的“ COPY”和“ ADD”命令有什么区别?

Dockerfile中的COPY和ADD命令之间有什么区别,何时可以在另一个之上使用?COPY <src> <dest>COPY指令将从以下位置复制新文件<src>并将其添加到容器的文件系统中:<dest>ADD <src> <dest>ADD指令将从中复制新文件<src>并将其添加到位于path的容器的文件系统中<dest>。
查看完整描述

3 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

您应该查看ADD和COPY文档以详尽地描述它们的行为,但是简而言之,主要的区别是ADD可以做的不只是COPY:


ADD允许<src>成为网址

参考下面的评论,ADD 文档明确指出:

如果是以公认的压缩格式(身份,gzip,bzip2或xz)作为本地tar归档文件,则将其解压缩为目录。来自远程URL的资源不会被解压缩。


请注意,编写Dockerfile的最佳实践建议COPY在ADD不需要魔术的地方使用。否则,您(因为必须查找此答案)有一天会在打算复制keep_this_archive_intact.tar.gz到容器中时感到惊讶,而是将内容喷洒到文件系统上。


查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 1900 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信