Docker Compose 配置文件:

version: "3.7"
 
services:
  mysql:
    image: "mysql:latest"
    restart: always
    container_name: "mysql"
    volumes:
      - "/opt/mysql/data:/var/lib/mysql"
      - "/opt/mysql/log:/var/log/mysql"
      - "/opt/mysql/conf/:/etc/mysql/conf.d"
    environment:
      MYSQL_USER: "username"
      MYSQL_PASSWORD: "password"
      MYSQL_DATABASE: "test"
      MYSQL_ROOT_PASSWORD: "root_password"
    command: "--default-authentication-plugin=mysql_native_password"
    ports:
      - "64406:3306"
  • command:
    • —default-authentication-plugin=mysql_native_password: 防止老版本客户端报错
  • volumes:
    • /var/lib/mysql: 数据
    • /etc/mysql/conf.d: 配置文件
    • /docker-entrypoint-initdb.d: 初始化脚本
  • environment
    • MYSQL_USER: 要创建的用户
    • MYSQL_PASSWORD: 对应密码
    • MYSQL_DATABASE: 创建数据库
    • MYSQL_ROOT_PASSWORD: root 密码