您当前的位置: 首页 >  docker
  • 0浏览

    0关注

    1477博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

软件工程小施同学 发布时间:2020-10-06 09:47:27 ,浏览量:0

一、需求

往Docker中复制文件

  二、复制指令-COPY

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

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

 

三、复制指令-ADD

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

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

 

四、实例
#创建一个空文件夹,并进入其中
mkdir newdir2
cd newdir2
#创建一个文件夹dir1,将其压缩得到dir1.tar,然后删除文件夹dir1
mkdir dir1 && tar -cvf dir1.tar dir1 && rmdir dir1
#创建一个Dockerfile文件
touch Dockerfile

#输入Dockerfile文件内容
#********** Begin *********#
#以busybox为基础镜像
echo 'FROM busybox' > Dockerfile
echo '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://www.educoder.net/shixuns/zawfjtnm/challenges

关注
打赏
1665320866
查看更多评论
立即登录/注册

微信扫码登录

0.1114s