08 COPY
功能:用于从Docker主机复制文件至创建的新映像文件
格式:
COPY <src> …<dest> 或
COPY “<src>”,… “<dest>”
<src>:要复制的源文件或目录,支持使用通配符
<dest>:目标路径,即正在创建的image的文件系统路径;建议为<dest>使用绝对
路径,否则,COPY指定则以WORKDIR为其起始路径;
注意:1、在路径中有空白字符时,通常使用第二种格式文件复制准则
<src>必须是build上下文中的路径,不能是其父目录中的文件
2、如果<src>是目录,则其内部文件或子目录会被递归复制,但<src>目录自身不会
被复制如果指定了多个<src>,或在<src>中使用了通配符,则<dest>必须是一个目
录,且必须以/结尾
3、如果<dest>事先不存在,它将会被自动创建,这包括其父目录路径
示例:
创建一个测试页面,必须和Dockerfile在同一目录中
echo This is a test Server > index.html
创建名称为tinyhttpd:v1的镜像
docker build -t tinyhttpd:v1 ./
可以看到自定义内容已写入到生成的镜像中
docker run –name tinyweb1 –rm tinyhttpd:v1 cat /data/web/html
示例:打包本地yum仓库到镜像
首先把本地库文件移到至Dockerfile同一目录下
编写Dockerfile文件加入一行:
COPY yum.repos.d /etc/yum.repos.d/
docker build -t tinyhttpd:v2 ./
可看到本地仓库已放入到生成的镜像中
docker run –name tinyweb1 –rm tinyhttpd:v2 ls /etc/yum.repos.d/
学员评价