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指令提取格式为identity,gzip,bzip2或xz的压缩档案。这些内容在您所构建的Docker映像的目标位置中被解压缩为目录
ADD /home/user/test.tar.gz /opt
该行为类似于当您使用tar命令将tarball解压到主机系统上的特定目录时发生的情况
3、从URL下载文件
它类似于wget -P
Dockerfiles的工作方式。在构建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