1. 参考网址
2. 拉取镜像
docker pull mysql:5.7
![image-20210720100621900](https://i-blog.csdnimg.cn/blog_migrate/62964b8df1aa6c7bb00463c591fb15ab.png)
3. 查看本地的镜像
docker images
![image-20210720100952597](https://i-blog.csdnimg.cn/blog_migrate/818dc67134bc6e0b21fd64bfa806ce00.png)
4. 新建挂载目录和mysql配置
cd /
mkdir -p docker/mysql/
cd docker/mysql
mkdir log data conf
cd conf
touch my.cnf
![image-20210720103128606](https://i-blog.csdnimg.cn/blog_migrate/20e893628593f99ae43fe0f85dd68972.png)
![image-20210720103401117](https://i-blog.csdnimg.cn/blog_migrate/07820833caf48df18c47974038b0d2af.png)
5. 启动mysql容器
- 33062映射到宿主机的端口
- MYSQL_ROOT_PASSWORD 设置root用户密码
sudo docker run -p 33062:3306 --name mysql \
-v /docker/mysql/log:/var/log/mysql \
-v /docker/mysql/data:/var/lib/mysql \
-v /docker/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
6. 自定义mysql配置
// 进入mysql配置挂载目录
cd /docker/mysql/conf
// vim打开自定义配置文件
vi my.cnf
// 添加如下内容
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
// 重启mysql
docker restart mysql
![image-20210720104046975](https://i-blog.csdnimg.cn/blog_migrate/efaf9e754bc2f5e3f9a9cbd305da99d2.png)
![image-20210720103731768](https://i-blog.csdnimg.cn/blog_migrate/a1d89a6c550265464d975f92005f577a.png)
![image-20210720104244383](https://i-blog.csdnimg.cn/blog_migrate/cfa44a881983367e9f2c4687859c6ad4.png)
7. 设置mysql自启动
docker update mysql --restart=always
![image-20210720104412625](https://i-blog.csdnimg.cn/blog_migrate/28dd699de5d1fd2dd10b1595e2afcde6.png)
8. 数据库管理工具连接测试
![image-20210720115154906](https://i-blog.csdnimg.cn/blog_migrate/7d146bb6f77e72f2fdbc8e65657b684a.png)