1:下载镜像
docker pull mysql:8.0.17
2:启动
# 运行mysql命名容器名称为mysql并且设置root账号初始密码为root docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD="root" -d mysql:8.0.17
3:确定mysql配置文件路径
#进入docker容器,mysql为刚安装的容器名称 docker exec -it mysql bash # 查找Docker内,MySQL配置文件my.cnf的位置 mysql --help | grep my.cnf
4:创建本地路径并挂载Docker内数据
mkdir -p /home/data/mysql/conf && mkdir -p /home/data/mysql/data
5:重新创建容器
docker run --name mysql \
-p 3306:3306 \
-v /home/data/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /home/data/mysql/data:/var/lib/mysql \
-v /home/data/mysql/log:/logs \
-e MYSQL_ROOT_PASSWORD=123456 \
--restart=always \
-d mysql:8.0.17
6:到此mysql已经创建完毕,可以远程连接数据,创建测试数据库"test"
7:查看挂载的本地data目录下是否有新建的数据库“test”,有说明挂载成功
8:移除刚创建的容器,看看本地data数据盘,"test"数据是否依然存在
9:重新部署mysql数据库docker容器,远程连接数据库,发现数据库依然存在"test"数据库,说明数据持久化成功