從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 [email protected]:/服務器上文件所在目錄 /本機存放文件目錄
// example
scp -r [email protected]:/home/123/sql /home/user/andy/sql
================================================================