COPY和ADD的区别

ADD

ADD指令具有以下三种功能:

1、将本地文件复制到容器映像中

举例来说,如果要将主机系统上的本地文件从Docker镜像复制/home/user/application/opt/app,则可以在Dockerfile中包含以下指令:

ADD /home/user/application /opt/app

在此,仅将目录的内容/home/user/application复制到/opt/app包括其元数据在内的目录中。它不会复制application目录本身

2、提取本地存储的tar文件

您还可以使用ADD指令提取格式为identitygzipbzip2xz的压缩档案。这些内容在您所构建的Docker映像的目标位置中被解压缩为目录

ADD /home/user/test.tar.gz /opt

该行为类似于当您使用tar命令将tarball解压到主机系统上的特定目录时发生的情况

3、从URL下载文件

它类似于wget -PDockerfiles的工作方式。在构建Docker映像时,您可以按照以下说明下载文件并将其存储在容器映像上的所需位置

ADD https://filesamples.com/samples/document/pdf/sample2.pdf /home/user

生成图像后,可以在启动基于它的容器之前使用此PDF文档。这是许多独特的用例之一

COPY

COPY指令是ADD指令的改进,旨在减轻Docker用户之间的混淆。它的功能只是一个-将文件或目录从主机上的源位置复制到Docker映像上的目标位置

因此,基本上是上面讨论的ADD指令部分中的第一点。相应的指令为

COPY /home/user/application /opt/app

示例图

 

posted @   未来可期_Durant  阅读(1301)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示