1 做后台守护式mysql容器 端口3308运行 设置密码
docker run -di --name=mysql -p 3308:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
2 做目录(配置文件和数据文件)和端口映射
2.1 创建文件夹
mkdir /mysql
mkdir /mysql/conf.d
mkdir /mysql/data/
2.2 书写配置文件
vim /mysql/my.cnf
# 书写以下内容
[client]
default-character-set=utf8
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1000
2.3 端口映射
docker run -di -v /mysql/data/:/var/lib/mysql -v /mysql/conf.d:/etc/mysql/conf.d -v /mysql/my.cnf:/etc/mysql/my.cnf -p 3306:3306 --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
测试容器是否纯净
# 创建库,创建表,插入数据
# 关闭容器,删除容器,mysql的容器没了,但是数据在宿主机上放着
docker stop mysql2
docker rm mysql2
docker rm mysql -f
# 再运行起一个容器,做好目录映射,发现数据都回来了
docker run -di -v /mysql/data/:/var/lib/mysql -v /mysql/conf.d:/etc/mysql/conf.d -v /mysql/my.cnf:/etc/mysql/my.cnf -p 3307:3306 --name mysql2 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
标签:容器,部署,MySQL,cnf,conf,mysql,docker,my
From: https://www.cnblogs.com/wellplayed/p/18071412