Docker的MySQL服务器容器配置sql_mode

  1. 宿主机通过my.cnf配置,然后挂载到docker容器

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    vi my.cnf
    [mysqld]
    sql_mode=NO_ENGINE_SUBSTITUTION

    # docker-compose.yml文件如下

    version: '2'
    services:
    db:
    image: mysql:8.0
    volumes:
    - /path/to/my.cnf:/etc/mysql/conf.d/my.cnf
    environment:
    MYSQL_ROOT_PASSWORD: root
  2. 宿主机通过docker的启动command设置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # docker-compose.yml文件如下

    version: '2'
    services:
    db:
    image: mysql:8.0
    command:
    - --sql-mode=NO_ENGINE_SUBSTITUTION
    environment:
    MYSQL_ROOT_PASSWORD: root