docker容器与主机之间文件拷贝

背景:虚拟机已安装docker环境,并且已经创建好了需要拷贝的源

1 了解和认识下docker cp命令

安装好docker后,拉取python镜像完成后,使用镜像mysql以交互模式启动一个容器,在容器内执行/bin/bash命令

docker run -it mysql /bin/bash

root@983a1ec49bef:/#  

已进入mysql容器内

创建一个文件a.txt

 touch a.txt

编辑文本内容,方便拷贝到host上比对

小插曲:容器上无法使用编辑器进行编辑

root@983a1ec49bef:/home# vim a.txt
bash: vim: command not found
root@983a1ec49bef:/home# vi a.txt
bash: vi: command not found

发现容器内无vim和vi编辑命令

对于这种情况的话,需要安装vim软件包,非通过yum安装:

更新软件包,在命令行中输入:

apt-get update

同步更新 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,获取最新的软件包,

等更新完成后,然后再输入:

apt-get install vim

再试,即可正常使用vim编辑命令。(vi同用此方法安装)

继续准备拷贝文件到本地,文件在容器内的路径为/home/a.txt

2 进行docker拷贝

查询出镜像mysql启动的容器容器name

[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                 NAMES
983a1ec49bef        mysql               "docker-entrypoint.s…"   3 hours ago         Up 3 hours          3306/tcp, 33060/tcp   unruffled_hermann

容器的name为unruffled_hermann

将Docker容器中的文件拷贝到主机中

#docker cp [容器ID或容器名:容器路径] [主机文件路径]

docker cp unruffled_hermann:/home/a.txt  /home/
[root@localhost home]# ll
total 8
-rw-r--r--.  1 root   root     90 Aug 25 14:10 a.txt
drwx------. 15 oracle oracle 4096 Aug 25 10:31 oracle

可以看到容器内的a.txt文件已被拷贝到本地。

3 将主机中的文件拷贝到Docker容器中

拷贝命令:docker cp [主机文件路径] [容器ID或容器名:容器路径]

docker cp /etc/passwd unruffled_hermann:/home/

执行完进入容器后,切到容器内/home/目录下

ls查看

root@983a1ec49bef:/home# ls
a.txt  passwd

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值