首先建议参考这几篇 Docker基础
Docker 基础之 Docker概览,版本安装介绍,镜像,容器,network,数据卷,仓库
Docker 基础之 Dockerfile
Docker 基础之 Docker Compose
1.mysql镜像的备份|导出|导入
步骤:
0.查看 源mysql 的 docker镜像;
- root权限下,
docker ps
找到 mysql容器
1.备份 源mysql 数据库;
docker exec -it xxx(注:docker容器名称或ID均可) mysqldump -u xxx(数据用户名) -p xxx(数据库密码) db_name(数据库名称) > (导出表格路径)
- 关于上述命令的解释,可以参考上面的几篇基础文章。这里在下面也做了粘贴
容器中执行新命令 docker exec
作用:
在容器中运行一个命令
命令格式:docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
命令参数(OPTIONS):-d, --detach 后台运行命令
-i, --interactive 即使没连接容器,也将当前的STDIN绑定上
-t, --tty 分配一个虚拟终端
-w, --workdir string 指定在容器中的工作目录
-e, --env list 设置容器中运行时的环境变量
2.导入到目标mysql容器;
-
docker exec -i xxx(容器名或id) db_name(数据库名) < (文件存放的路径)
当然,也可以分步骤,先把文件拷贝到容器内部,然后通过 source 等导入 - 法二:
docker cp 容器名:/xxx/(路径)
; 然后进入容器内部并打开mysql命令行docker exec -ti xxx(容器名或id) db_name(数据库名) <
友情提示: 1.数据库备份导入等操作的时候, 尽量使用命令行的方式;2.也尽量不要让sql文件在不同脚本之间搬动,每次转移完也要注意文件的大小等是否发生改变;