docker容器文件拷贝到宿主机
干货 
 将容器内文件拷贝到宿主机
docker cp <containerId>:/导出文件的位置/xxx.sql /宿主机的位置其中containerId是docker ps查看到的容器id
示例:docker cp bf4c4fff338c:/root/rest.sql /root/ 
以下是我从docker容器中的mysql数据库中导出数据并将数据拿到宿主机的一次记录
 有时候需要将docker容器里面的文件拿到宿主机,或者有文件需要从宿主机拷贝到容器,可以在打镜像时就包含,也可以用docker命令。 
背景:接手一个项目的维护,之前老兄将mysql装在docker容器中,容器又在虚拟机中,而且mysql版本是8.0!!!直接用navicat for mysql等工具不能连接,有些数据的导入导出就显得很不方便,关键是这个环境还是在本地内网,现在需要迁移到云上,就需要将原有系统数据导出,不巧的是这位老兄另谋高就了,什么除了几个密码,什么文档也没有留下…… 
进入虚拟机,查看容器
docker ps
 记一下容器id:bf4c4fff338c 
 进入容器
docker exec -it bf4c4fff338c /bin/bash登陆mysql
mysql -uroot -p xxxx查看一下库名
show databases;记住待会儿要导出的库名,退出mysql
exit用命令导出数据
mysqldump -u root -p '库名'>库名.sql输入密码 
 如果报错,直接把密码连接到-p后头也行 
 在当前目录下
ls就能看到导出的文件,使用命名pwd看一下当前路径,记住它,我的是/root 
退出容器
exit将容器内文件拷贝到宿主机
docker cp <containerId>:/导出文件的位置/xxx.sql /宿主机的位置示例:docker cp bf4c4fff338c:/root/rest.sql /root/ 
然后
cd /root看一下
ll
 这样就可以用xftp等工具将文件拿到任何你想哪的地方去了
                
                










