1、提供自己的阿里云镜像
  1. docker pull registry.cn-shenzhen.aliyuncs.com/encodmail/mysql:5.7.23
  2. docker pull registry.cn-shenzhen.aliyuncs.com/encodmail/mysql:8.0.17

2、在my.cnf配置文件里面添加以下内容
当然如果嫌嘛可以直接创建一个 my.cnf 即可

[client]
[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
secure-file-priv= NULL

3、 配置 docker-compose.yml

# MySQL安装
version: '3.1'
services:
  mysql:
    # 指定 对应版本镜像 5.7.23 版本
    image: registry.cn-shenzhen.aliyuncs.com/encodmail/mysql:5.7.23
    restart: always
    container_name: mysqldb
    ports:
      - "3306:3306"
    # 挂载数据卷
    volumes:
    - ./data:/var/lib/mysql
    - ./my.cnf:/etc/mysql/my.cnf
    command:
      # 数据库密码模式
      --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
    # 配置环境变量
    environment:
       # 默认 root 密码 
       MYSQL_ROOT_PASSWORD: "123456"
       TZ: "Asia/Shanghai"

4、执行命令
# 后台运行
docker-compose up -d