我不清楚为什么会有两个指令将文件复制到Dockerfile引用中描述的Docker映像中。有添加和复制,它们看上去与我很相似。他们之间有实际的区别吗?如果没有,哪一种是最常用的?
发布于 2017-03-06 12:22:55
据编写文档的最佳实践称,
虽然ADD和COPY在功能上是相似的,但总的来说,复制是首选。那是因为它比ADD更透明。
ADD
COPY
ADD可以提取tar文件并获取远程URL文件,尽管在正式文件中不太清楚。同样重要的是要声明,
由于图像大小很重要,因此强烈建议使用ADD从远程URL获取包;您应该使用curl或wget。
curl
wget
COPY entrypoint.sh /srv/app/ ADD app.tar /srv/app/
因此,一般规则是@derobert提到的,除非您需要使用COPY独占特性,否则使用ADD。
发布于 2017-03-02 15:31:16
ADD执行了更多的“魔力”:它获取URL和解压缩档案。这可能有些出乎意料(特别是归档解包)。官方的最佳实践指南推荐您使用除非您需要添加的额外功能,否则请使用复制。
https://unix.stackexchange.com/questions/348692
相似问题