如何在dockerfile 拷贝文件容器内外互相拷贝数据

3260人阅读
docker(6)
从容器内拷贝文件到主机上
[root@oegw1 soft]# docker ps
CONTAINER ID & & & &IMAGE & & & & & & & COMMAND & & & & & & & &CREATED & & & & & & STATUS & & & & & & &PORTS & & & & & & & NAMES
8d418a7b6021 & & & &postgres & & & & & &&/docker-entrypoint. & 7 hours ago & & & & Up 7 hours & & & & & & & & & & & & & & &test1 & &
[root@oegw1 soft]# docker exec -t -i 8d418a7b6021 /bin/bash
root@oegw1:/var/lib/postgresql# pwd
/var/lib/postgresql
root@oegw1:/var/lib/postgresql# ls
root@oegw1:/var/lib/postgresql# exit
[root@oegw1 soft]# docker cp 8d418a7b6021:/var/lib/postgresql/data /opt/soft/
docker run -v /opt/soft:/mnt 8d418a7b6021
从主机上拷贝文件到容器内
1.用-v挂载主机数据卷到容器内
通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径。
[root@oegw1 soft]# docker run -it -v /opt/soft:/mnt postgres /bin/bash
这种方式的缺点是只能在容器刚刚启动的情况下进行挂载
2.直接在主机上拷贝到容器物理存储系统
[root@oegw1 soft]# docker ps
CONTAINER ID & & & &IMAGE & & & & & & & COMMAND & & & & & & & &CREATED & & & & & & STATUS & & & & & & &PORTS & & & & & & & NAMES
8d418a7b6021 & & & &postgres & & & & & &&/docker-entrypoint. & 8 hours ago & & & & Up 8 hours & & & & & & & & & & & & & & &test1 & & & & & & &&
[root@oegw1 soft]# docker inspect -f & '{{.Id}}' 8d418a7b6021
8d418a7b6ada5ca5fe1e82a953afe05c95b16d23241d47
在docker中,其实是映射到/var/lib/docker/devicemapper/mnt/8d418a7b6ada5ca5fe1e82a953afe05c95b16d23241d47/这个文件夹中的
这个文件下面就是docker中的根目录里面的内容,然后我们就可以按照我们想要的内容随便进行拷贝了
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:168241次
积分:4443
积分:4443
排名:第6035名
原创:287篇
转载:30篇
(1)(2)(8)(7)(1)(1)(1)(1)(8)(36)(1)(8)(5)(12)(45)(11)(15)(13)(17)(17)(15)(28)(21)(21)(20)(2)网站开发(34)
如何在Docker容器内外互相拷贝数据?
从容器内拷贝文件到主机上
从主机上拷贝文件到容器内
1.用-v挂载主机数据卷到容器内
2.直接在主机上拷贝到容器物理存储系统
A. 获取容器名称或者id :
B. 获取整个容器的id
C. 在主机上拷贝文件:
3.用输入输出符
转载自:http://blog.csdn.net/yangzhenping/article/details/
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:300135次
积分:4291
积分:4291
排名:第6330名
原创:128篇
转载:179篇
(1)(1)(18)(7)(14)(27)(38)(36)(35)(11)(20)(8)(34)(57)114网址导航如何在Docker容器内外互相拷贝数据?_服务器应用_Linux公社-Linux系统门户网站
你好,游客
如何在Docker容器内外互相拷贝数据?
来源:Linux社区&
作者:yangzhenping
从Docker容器内拷贝文件到主机上
docker cp &containerId&:/file/path/within/container /host/path/target
从主机上拷贝文件到容器内
/questions//copying-files-from-host-to-docker-container
1.用-v挂载主机数据卷到容器内
docker run -v /path/to/hostdir:/mnt $container
在容器内拷贝
cp /mnt/sourcefile /path/to/destfile
2.直接在主机上拷贝到容器物理存储系统
A. 获取容器名称或者id :
$ docker ps
B. 获取整个容器的id
$ docker inspect -f&
'{{.Id}}'& 步骤A获取的名称或者id
C. 在主机上拷贝文件:
$ sudo cp path-file-host /var/lib/docker/aufs/mnt/FULL_CONTAINER_ID/PATH-NEW-FILE
$ sudo cp path-file-host /var/lib/docker/devicemapper/mnt/123abc&&id&&/rootfs/root
$ docker ps
CONTAINER ID& & & IMAGE& & COMMAND& & &
CREATED& & & STATUS& & &
PORTS& & & & NAMES
d8e703d7e303&
solidleon/ssh:latest& & & /usr/sbin/sshd -D& & & & & & & & & & & cranky_pare
$ docker inspect -f&
'{{.Id}}' cranky_pare
$ docker inspect -f&
'{{.Id}}' d8e703d7e303
d8e703d7ed01bd7fb58d59eb16c4b83cf
$ sudo cp file.txt /var/lib/docker/aufs/mnt/**d8e703d7ed01bd7fb58d59eb16c4b83cf
3.用输入输出符
docker run -i
/bin/bash -c 'cat & /path/to/container/file' & /path/to/host/file/
docker exec -it &container_id& bash -c 'cat & /path/to/container/file' & /path/to/host/file/
在Docker容器之间拷贝数据:原理与操作示例&
Docker安装应用( 6.5_x64)
在 Docker 中使用 MySQL
在Ubuntu Trusty 14.04 (LTS) (64-bit)安装Docker
Docker安装应用(CentOS 6.5_x64)
Ubuntu 14.04安装Docker&
阿里云CentOS 6.5 模板上安装 Docker
Docker 的详细介绍:Docker 的下载地址:
本文永久更新链接地址:
相关资讯 & & &
& (03月10日)
& (02月24日)
& (04月05日)
& (03月10日)
& (02月11日)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款}

我要回帖

更多关于 docker 容器互相访问 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信