2020-02-27 10:11:14
ADD有两种形式:
ADD <src>… <dest> ADD [“<src>”,… “<dest>”] [这种形式通常用于包含空白字符的路径]ADD指令从<src>复制新的文件,目录或远程文件URLs并添加到镜像文件系统的<dest>路径。
可以指定多个<src>资源,这些资源必须是相对于正在构建的源目录(构建的上下文)。
每个<src>可以包含通配符并且使用Go的filepath.Match规则匹配。例如:
ADD hom* /mydir/ # adds all files starting with "hom" ADD hom?.txt /mydir/ # ? is replaced with any single character, e.g., "home.txt"
<dest>是一个绝对路径,或者是WORKDIR的相对路径。
ADD test relativeDir/ # adds "test" to `WORKDIR`/relativeDir/ ADD test /absoluteDir/ # adds "test" to /absoluteDir/
所有新创建的文件和目录的UID和GID都是0.
当<src>为一个远程文件URL时,新创建的文件和目录权限为600。如果获取的远程文件的HTTP有一个Last-Modified响应头,那么这个响应头的时间戳将设置为新创建的文件和目录的mtime。不过,在ADD期间像其它任意文件的处理过程中,mtime不能决定文件是否已经更改和缓存是否应该更新。
注意:如果通过标准输入传递Dockerfile构建镜像[docker build – < somefile],那么就没有构建上下文,所以Dockerfile中的ADD指令的<src>只能是远程URL。你也可以通过标准输入传递一个压缩文件:(docker build - < archive.tar.gz),在这个压缩文件根目录的Dockerfile和压缩文件的其它文件将作为构建的上下文使用。
如果远程URL需要验证,你需要使用RUN wget,RUN curl或容器内的其它工具下载文件,因为ADD指令不支持验证功能。
如果<src>的文件已经更改,那么涉及到这个路径的第一个ADD指令将使Dockerfile后面的所有指令缓存失效。其中RUN指令的缓存也将失效。
ADD遵守如下规则:
<src>路径必须在构建上下文内;你不能ADD ../something /something,因为docker build的第一步已经把上下文目录和子目录发送到docker daemon了。 如果<src>是一个远程URL,且<dest>路径后没有跟斜杠,那么这个文件从远程URL下载并复制到<dest> 如果<src>是一个远程URL,且<dest>路径后有斜杠,那么filename从URL获取并把文件下载到<dest>/<filename>。例如,ADD http://example.com/foobar /将创建文件/foobar。远程URL是包括路径的URL,这样docker才能获取文件名,像http://example.com是不行的。 如果<src>是一个目录,目录的所有内容都将复制,包括文件系统元数据。如果<src>是一个本地的可识别的tar压缩文件[如gzip,bzip2或xz],那么将在容器内解压为目录。远程URL的压缩文件将不会解压。 如果<src>是多个资源,不管是直接指定或使用通配符,那么<dest>必须是一个目录,并且已经以斜杠/结尾。 如果<dest>不以斜杠/结尾,将视其为一个普通文件,<src>的内容将写到这个文件。 如果<dest>不存在,则会与其路径中的所有缺少的目录一起创建。注意:不会复制目录本身,只是它的内容。
注意:ADD与COPY唯一的区别就是COPY添加本地压缩文件时不会自动解压到容器。对于其它不需要自动解压文件的情况,你应该始终使用COPY。
Dockerfile参考(9) – LABEL添加元数据到镜像
02-27
Dockerfile参考(1) – 用法
05-22
Dockerfile参考(2) – 格式
05-31
Docker实践(26) – 设置从Dockerfile指定点缓存失效
02-12
更改MySQL数据文件目录位置
06-05
Docker命令行参考(4) – docker inspect显示容器或镜像相关信息
07-19
UNIX/Linux下如何删除文件/目录
05-22
Windows系统目录下文件夹汇总
06-05
php面试笔记(7)-php基础知识-文件及目录处理考点
05-31
怎么利用wget下载文件并保存到指定目录
03-05
磁盘根目录下,有包含autorun.inf文件夹不能删除
06-11
Docker run参考(3) – 容器标识
04-03
SaltStack基础(6) – 使用highstate应用多个state文件
06-18
AWK 两个文件字段合并处理实例
06-28
Docker run参考(1) – 一般格式
05-13
Docker run参考(8) – 退出状态码
05-15
Docker命令行参考(14) – docker attach附着到一个运行中的容器
07-19
Docker命令行参考(18) – docker exec在运行中的容器执行一个命令
06-02
Docker命令行参考(2) – dockerd启动docker daemon
05-03
Docker命令行参考(26) – docker stats实时显示容器资源使用统计
06-21
AKVIS NatureArt(照片添加下雨效果软件)下载 v10.0官方版
66.13 MB
下载Batch It!(图片批量添加水印,放大,旋转) v6.58 官方最新版
9.57M
下载Easy Watermark Studio(图片添加水印软件) 4.2 中文破解版
9.5 MB
下载PDF批量目录生成器(ePDF)下载 v2.0官方版
5.2M
下载TouchCOPY(iPhone/iPad文件管理软件) v16.56 官方版
38.42M
下载ceb文件阅读器下载
42.6M
下载excelrecovery(文件修复软件)V3.0 免费版
378KB
下载fastCOPY(文件快速复制工具)V3.7.0 免费版
1.5M
下载msvcp110(dll文件)2021 免费版
2.6M
下载packet.dll(Windows系统文件)2021 免费版
14.7K
下载pdf合并软件(pdf文件合并工具)v1.11 官方版
209.0M
下载pdf解密软件(pdf文件解密软件) v2.19 免费版
2.7M
下载swf播放器(SWF文件播放器)v6.0.0.3 官方版
2.5MB
下载烁光PDF转换器(文件格式转换工具) v1.2.2.0 免费版
42.46 MB
下载风云PDF转换器(PDF文件转换工具) v6.0.0.1 破解版
1.22MB
下载COPY Files Into Multiple Folders下载
3.7M
下载COPYTrans HEIC下载
9.72M
下载FastCOPY绿色中文版
1.64 MB
下载Print Maestro 4破解版
21.1 MB
下载acmecadconverter下载
8.92MB
下载