拉取镜像
# 最新版本
docker pull mysql
# 5.7 版本 本文基于5.7版本
docker pull mysql:5.7
本文内容基于mysql5.7版本
启动mysql容器 查看数据文件存放路径
docker run -d \
-p 3306:3306 \
--name mysql \
-e MYSQL_ROOT_PASSWORD=123 \
mysql:5.7
docker exec -it mysql bash
mysql -uroot -p
# Enter password:
# mysql> show variables like '%datadir%';
show variables like '%datadir%';
show variables like '%datadir%';
会输出数据文件的存放路径 /var/lib/mysql/
拷贝容器配置文件
docker cp mysql:/etc/mysql /usr/local/mysql/conf
mysql容器的配置文件存在 /etc/mysql 下
重新启动容器
docker stop mysql
docker rm mysql
docker run -d \
-p 3306:3306 \
--name mysql \
-v /usr/local/mysql/conf:/etc/mysql \
-v /usr/local/mysql/data:/var/lib/mysql/ \
-e MYSQL_ROOT_PASSWORD=123 \
--restart always \
mysql:5.7
映射数据文件后,删除容器后能保留数据库文件,不至于导致数据库丢失。