0
点赞
收藏
分享

微信扫一扫

docker容器文件拷贝到宿主机

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

docker容器文件拷贝到宿主机_docker
记一下容器id:​​​bf4c4fff338c​​​
进入容器

docker exec -it bf4c4fff338c /bin/bash

登陆mysql

mysql -uroot -p xxxx

查看一下库名

show databases;

记住待会儿要导出的库名,退出mysql

exit

用命令导出数据

mysqldump -u root -p '库名'>库名.sql

输入密码
docker容器文件拷贝到宿主机_mysql_02
如果报错,直接把密码连接到-p后头也行
在当前目录下

ls

就能看到导出的文件,使用命名​​pwd​​​看一下当前路径,记住它,我的是/root


退出容器

exit

将容器内文件拷贝到宿主机

docker cp <containerId>:/导出文件的位置/xxx.sql /宿主机的位置

示例:​​docker cp bf4c4fff338c:/root/rest.sql /root/​​​

然后

cd /root

看一下

ll

docker容器文件拷贝到宿主机_sql_03
这样就可以用xftp等工具将文件拿到任何你想哪的地方去了


举报

相关推荐

0 条评论