1. 拉取mysql:5.7镜像
docker pull mysql:5.7
2. 创建外部数据和配置文件路径
msyql配置文件路径:/etc/mysql
mysql数据卷路径:/var/lib/mysql
- mysql配置文件路径:
/usr/local/docker/mysql/conf
- mysql数据卷路径:
/usr/local/docker/mysql/data
3. 创建一个临时的msyql:5.7容器,目的是cp 容器里mysql的配置文件
docker run -d -p 3306:3306 --name myMysql -e MYSQL_ROOT_PASSWORD=root mysql:5.7
4. 复制容器中的mysql配置文件到宿主机指定目录
docker cp myMysql:/etc/mysql /usr/local/docker
docker cp myMysql:/etc/mysql/ /usr/local/docker/mysql/conf
5. 移除临时myMysql容器
docker stop myMysql
dokcer rm myMysql
6. 创建mysql容器
docker run -d --name mysql -p 3306:3306 --restart always --privileged=true -v /usr/local/docker/mysql/conf:/etc/mysql -v /usr/local/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD="root" mysql:5.7
7. 查看日志
docker logs -f mysql
8. 涉及到的命令
--restart always -> 开机启动
--privileged=true -> 提升容器内权限
-v /root/docker/mysqletc/mysql:/etc/mysql -> 映射配置文件
-v /root/docker/mysqletc/data:/var/lib/mysql -> 映射数据目录
-e MYSQL_USER="summit" -> 添加用户summit
-e MYSQL_PASSWORD="summit" -> 设置summit用户的密码为summit
-e MYSQL_ROOT_PASSWORD="root" -> 设置root的密码为root