Dockerfile中的COPY指令和ADD指令都可以将主机上的资源复制或加入到容器镜像中,都是在构建镜像的过程中完成的。COPY指令和ADD指令的唯一区别在于是否支持从远程URL获取资源。COPY指令只能从执行docker build所在的主机上读取资源并复制到镜像中。而ADD指令还支持通过URL从远程服务器读取资源并复制到镜像中。这两个命令其实都是Dockerfile非常基础的命令。两个命令的格式类似:
ADD:不仅能够将构建命令所在的主机本地的文件或目录,而且能够将远程URL所对应的文件或目录,作为资源复制到镜像文件系统。 所以,可以认为ADD是增强版的COPY,支持将远程URL的资源加入到镜像的文件系统。
exec格式用法(推荐):
ADD [““,... ““],特别适合路径中带有空格的情况
shell格式用法:
ADD ...
COPY:COPY指令能够将构建命令所在的主机本地的文件或目录,复制到镜像文件系统。
exec格式用法(推荐):
COPY [““,““...