1. docker 内拉取 mysql3.6
2. 运行mysql
使用命令docker run -p 3306:3306 --name mysql -v /dfxmysql/mysql/conf:/etc/mysql/conf.d -v /dfxmysql/mysql/logs:/logs -v /dfxmysql/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
运行mysql容器。
命令详解:
-p 13306:3306
:将主机的3306端口映射到docker容器的3306端口--name mysql
:运行服务名字-v /dfxmysql/mysql/conf:/etc/mysql/conf.d
:将主机/dfxmysql/mysql录下的conf/my.cnf 挂载到容器的 /etc/mysql/conf.d-v /dfxmysql/mysql/logs:/logs
:将主机/dfxmysql/mysql目录下的 logs 目录挂载到容器的 /logs-v /dfxmysql/mysql/data:/var/lib/mysql
:将主机/dfxmysql/mysql目录下的data目录挂载到容器的 /var/lib/mysql-e MYSQL_ROOT_PASSWORD=123456
:初始化 root 用户的密码-d mysql:5.6
: 后台程序运行mysql5.6
3. 进入mysql容器,与其交互,建库建表
4. 本地连接docker内的mysql
5. docker内的mysql数据持久化
执行指令docker exec [myql服务容器ID] sh -c 'exec mysqldump --all-databases -uroot -p"123456" ' > /dfxmysql/all-databases.sql
。该指令把docker中的mysql的所有数据库导出到落脚点/dfxmysql/all-databases.sql
文件里。
以上,就完整的实现了从部署=>连接=>数据持久化的过程。