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

网友投稿 342 2022-10-22

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

一、需求

往Docker中复制文件

二、复制指令-COPY

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

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

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

三、复制指令-ADD

​​ADD​​​与​​COPY​​指令在功能上十分相似。

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 /

参考:​​https://educoder.net/shixuns/zawfjtnm/challenges​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java线程池使用及原理面试题
下一篇:Docker镜像命令
相关文章

 发表评论

暂时没有评论,来抢沙发吧~