从docker容器中取出数据库或其他文件
本文将详细讲述如何从linux服务器中取出已经部署的docker容器中的数据库表以及数据,并且将数据传送到本地服务器。
step 1
在本地主机利用ssh登陆远程服务器。
ssh `servername`@xxx.xx.xxx.xx -p 端口号 // 输入正确的密码即可
step 2
查看docker端口号以及进入docker容器环境
docker ps -a // 查看端口号
docker exec -it 容器id /bin/bash // 进入容器环境
step 3
导出数据库
mysqldump -h主机 -u用户名 -p 数据库名 > 导出的数据库名.sql // 输入正确的密码即可
此次既可以看到目录下有了.sql文件,这就是我们需要的数据库文件。
step 4
将数据库文件从容器传送到服务器。
docker cp 容器id:/待传文件目录 /服务器目录名
// example
docker cp 30026605dcfe:/home/cloudera/RS-MapReduce /tmp/
step 5
将服务器上的文件拉取到本地(使用scp)。
在本地机器上运行
scp -r servername@xxx.xx.xxx.xx:/服务器上文件所在目录 /本机存放文件目录
// example
scp -r root@120.24.182.11:/home/123/sql /home/user/andy/sql
================================================================