Docker学习总结(58)——Dockerfile中,ADD和COPY的区别?

Dockerfile的COPY和ADD指令用于将主机资源复制到镜像中。ADD支持从URL获取资源并解压,是COPY的增强版,但不安全。COPY仅限于本地文件,更适用于生产环境。两者都需注意源路径相对于Dockerfile的路径,目标路径为绝对或相对WORKDIR的路径。推荐使用RUN wget或curl处理远程资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker经典面试题:Dockerfile中,ADD和COPY的区别?

Dockerfile中的COPY指令和ADD指令都可以将主机上的资源复制或加入到容器镜像中,都是在构建镜像的过程中完成的。COPY指令和ADD指令的唯一区别在于是否支持从远程URL获取资源。COPY指令只能从执行docker build所在的主机上读取资源并复制到镜像中。而ADD指令还支持通过URL从远程服务器读取资源并复制到镜像中。这两个命令其实都是Dockerfile非常基础的命令。两个命令的格式类似:

ADD:不仅能够将构建命令所在的主机本地的文件或目录,而且能够将远程URL所对应的文件或目录,作为资源复制到镜像文件系统。
所以,可以认为ADD是增强版的COPY,支持将远程URL的资源加入到镜像的文件系统。

exec格式用法(推荐):
ADD [“<源路径>“,... “<目标路径>“],特别适合路径中带有空格的情况

shell格式用法:
ADD <src>... <dest>

COPY:COPY指令能够将构建命令所在的主机本地的文件或目录,复制到镜像文件系统。


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大海的江湖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值