失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Docker教程小白实操入门(13)--如何使用COPY和ADD复制文件到容器内

Docker教程小白实操入门(13)--如何使用COPY和ADD复制文件到容器内

时间:2018-06-27 22:22:22

相关推荐

Docker教程小白实操入门(13)--如何使用COPY和ADD复制文件到容器内

一、需求

往Docker中复制文件

二、复制指令-COPY

COPY指令将从构建上下文目录中 <源路径> 的文件或目录复制到新的一层的镜像内的 <目标路径> 位置。

COPY <源路径> <目标路径>;

<源路径>所指定的源必须在上下文中,即必须是上下文根目录的相对路径!<目标路径> 可以是容器内的绝对路径,也可以是相对于工作目录的相对路径(工作目录可以用WORKDIR指令来指定,后面介绍)。目标路径不需要事先创建,如果目录不存在会在复制文件前先行创建目录。

三、复制指令-ADD

ADDCOPY指令在功能上十分相似。

ADD <源路径> <目标路径>;

源路径可以是一个指向一个网络文件的URL,这种情况下,Docker引擎会试图下载这个URL指向的文件到<目标路径>去。当<源路径>为一个tar压缩文件时,该压缩文件在被复制到容器中时会被解压提取。但是使用COPY指令只会将tar压缩文件拷贝到<目标路径>中

四、实例

#创建一个空文件夹,并进入其中mkdir newdir2cd newdir2#创建一个文件夹dir1,将其压缩得到dir1.tar,然后删除文件夹dir1mkdir dir1 && tar -cvf dir1.tar dir1 && rmdir dir1#创建一个Dockerfile文件touch Dockerfile#输入Dockerfile文件内容#********** Begin *********##以busybox为基础镜像echo 'FROM busybox' > Dockerfileecho 'RUN mkdir dir1'>> Dockerfile#并将上下文目录下的dir1.tar“解压提取后”,拷贝到busybox:v3的/echo 'ADD ./dir1.tar /'>> Dockerfile#********** End **********##文件内容完毕,在当前文件夹中执行#********** Begin *********##以该Dockerfile构建一个名为busybox:v3的镜像docker build -t busybox:v3 .#********** End **********#docker run busybox:v3 ls /

参考:/shixuns/zawfjtnm/challenges

如果觉得《Docker教程小白实操入门(13)--如何使用COPY和ADD复制文件到容器内》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。