Skip to content

Mysql 8 Docker Compose

docker-compose.yml

YAML
version: "3.7"

services:

  prod:
    image: mysql:8.0
    hostname: mysql-8
    command: '--default-authentication-plugin=mysql_native_password'
    cap_add:
      - SYS_NICE  # CAP_SYS_NICE
    networks:
      - durbok-net
    deploy:
      placement:
        constraints:
        - node.role == manager
      replicas: 1
      restart_policy:
        condition: on-failure
    volumes:
      - ./conf.d:/etc/mysql/conf.d
      - ./dbdata:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: urrootpass

networks:
  durbok-net:
    external: true

Create folders conf.d and dbdata.

Create file custom.ini in conf.d folder.

INI
[mysqld]
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
default-authentication-plugin=mysql_native_password
character-set-server=utf8
collation-server=utf8_general_ci