参考博客:https://blog.csdn.net/weixin_38657051/article/details/98596926
拉取镜像:
docker pull mysql:latest
创建持久化文件夹
## 创建mysql的数据持久化配置文件夹
sudo mkdir -p /home/qtdev/bi/mysql/conf
## 创建mysql的数据持久化数据文件夹
sudo mkdir -p /nfs/mysql/data
## 创建mysql的日志文件夹
sudo mkdir -p /home/qtdev/bi/mysql/logs
3. 配置mysql文件
cd /home/qtdev/bi/mysql/conf
vim my.cnf
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
lower_case_table_names=1
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
# Custom config should go here
!includedir /etc/mysql/conf.d/
4. 使用docker run语句启动mysql服务
sudo docker run -itd -p 3307:3306 --name onedata-mysql -v /home/qtdev/bi/mysql/conf:/etc/mysql/conf.d -v /nfs/mysql/data:/var/lib/mysql -v /home/qtdev/bi/mysql/logs:/logs -e mysql
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
## 启动参数说明 #
# 提升root权限 --privileged=true #
# 将容器的 3306 端口映射到主机的 3306 端口。 -p 3306:3306 #
# 将宿主机上的当前目录下的conf目录挂载到容器的/etc/mysql/conf.d目录 -v $PWD/conf:/etc/mysql/conf.d #
# 将宿主机上的当前目录下的data目录挂载到容器的 /var/lib/mysql -v $PWD/data:/var/lib/mysql #
# 将宿主机上的当前目录下的 logs 目录挂载到容器的 /logs。 -v $PWD/logs:/logs
5 .验证
docker安装mysql并持久化
原文地址:https://www.cnblogs.com/duaner92/p/14635693.html