赞
踩
ADD [–chown=:] … ADD
[–chown=:] [“”,… “”]
–chown
仅适用于 linux 上的 dockerfile,在 window 上没有用户、组的概念
ADD hom* /mydir/
ADD hom?.txt /mydir/
重点
是绝对路径,或相对于 WORKDIR 的路径,源将在目标容器内复制到该路径中
ADD test.txt relativeDir/
等价于
ADD test.txt <WORKDIR>/relativeDir/
将 test.txt 添加到 /absoluteDir/ 目录下
ADD test.txt /absoluteDir/
添加名为 arr[0].txt 的文件
ADD arr[[]0].txt /mydir/
不能添加 …/something 、 /something ,因为 docker 构建的第一步是将上下文目录(和子目录)发送到 docker 守护进程
## test.txt 是相对路径,相对于构建上下文
ADD test.txt /mkdir/
# 错误写法,文件均不在上下文目录中,并不会被找到
# 这个找的就是构建上下文的上级目录的 test.txt
ADD ../test.txt /mkdir/
# 这个找的是本机根目录下的 test.txt
ADD /test.txt /mkdir/
ADD http://example.com/foobar/
这将创建文件 /foobar,URL 必须有一个重要的路径,以便在这种情况下可以 找到文件名(http://example.com 将不起作用)
则复制目录的全部内容,包括文件系统元数据
不会复制目录本身,只会复制其内容
ADD dir /mydir/
会将它自动解压为目录但来自远程 URL 资源不会被解压缩
当一个目录被复制或解压时,它的行为与 tar -x 相同
注意:文件是否被识别为可识别的压缩格式完全取决于文件的内容,而不是文件的名称;例如,如果一个空文件恰好以 .tar.gz 结尾,黄不会被识别为压缩文件,也不会生成任何类型的解压缩错误消息,而只会将该文件复制到目标位置
则将其与其元数据一起单独复制
以斜杠 / 结尾,它将被视为一个目录,并且 的内容将写入 /base()
指定了多个 资源,或者由于使用了通配符
则 必须是一个目录,并且必须以斜杠 / 结尾
ADD test1.txt test2.txt /mydir/
它将被视为常规文件,并且 的内容将写入
ADD test.txt /mytext
路径中所有缺失的目录都会自动创建
ADD test.txt /dir/test/my/
注意事项
的内容发生变化,第一个遇到的 ADD 指令将使来自 Dockerfile 的所有后续指令的缓存无效,这包括使 RUN 指令的缓存无效
FROM centos # 添加文件到目录下 ADD test.txt /mydir/ # 将文件内容写入 mytest ADD test.txt /mytest # 压缩文件,自动解压 ADD jmeter.log.zip /myzipdir/ # 添加目录 ADD TeamFile / # 其他文件 ADD jmeter.log /mydir/ # 多个文件 ADD test1.txt test2.txt /mydir/ # 通配符,dest 不存在自动创建 ADD test*.txt /mydir/test/ # 特殊字符串 ADD add[[]0].txt /mydir/ WORKDIR /data # 相对路径 ADD test.txt test/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。