首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >docker容器与物理机之间拷贝文件的方法

docker容器与物理机之间拷贝文件的方法

作者头像
保持热爱奔赴山海
发布于 2019-09-18 14:49:14
发布于 2019-09-18 14:49:14
1.6K0
举报
文章被收录于专栏:DevOpsDevOps数据库相关

一般情况下,我们在启动容器的时候可以使用-v参数映射宿主机的文件或者目录到容器里,这样的话,在宿主机相关目录下的文件修改会自动在容器里生效。

但是,如果我们已经启动了一个容器的话,就只能使用下面的这种方式在容器和宿主机之间拷贝文件了。

docker ps 获取目标容器的ID或者容器的名称    # 我这里的是容器ID为52261df2fab6

docker inspect -f'``.`Id`' 容器的ID       # 获取容器的ID全名称

得到一串类似52261df2fab612b24b3502c4ad98c22aff70ce9fa641c5c9f735ac2415e92da3

cp /root/test.log /var/lib/docker/devicemapper/mnt/52261d...xxx/rootfs/root/   # 这样就把宿主机的test.log拷贝到容器的/root/目录下了。

# 说明:上面的这个方法在CentOS6.7通过yum安装的docker-io测试通过。我另一台测试机安装的是docker-engine,则根本没有/rootfs/这个目录。

最后,还有1个方法,就是在容器里面安装openssh-server和openssh-clients,然后通过scp的方式进行文件拷贝操作。但是docker官方不建议给docker使用ssh连接的方式去管理。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016/11/28 ,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档