DevBoi

[Docker] Mariadb 간헐적 초기화 발생 본문

Infra/[K8S & Docker]

[Docker] Mariadb 간헐적 초기화 발생

HiSmith 2023. 9. 26. 22:24
반응형

간헐적으로 초기화가 발생한다. 정확히는 디비 정보가 유실된다.

그래서 무조건, 볼륨 마운트를 진행해야한다. 혹시라도 다시 온되더라도 정보를 그대로 끌고갈수 있게 

그래서 하위와 같이 스크립트 파일을 쓰다가

version: "3.2"
services:
  database:
    container_name: database
    image: mariadb
    volumes:
      - ~/docker/mariadb/etc/mysql/conf.d:/etc/mysql/conf.d:ro
      - ~/docker/mariadb/var/lib/mysql:/var/lib/mysql
      - ~/docker/mariadb/var/log/maria:/var/log/maria
    environment:
      - MYSQL_DATABASE=db1
      - MYSQL_ROOT_PASSWORD=1234
      - MYSQL_ROOT_HOST=%
    command: ['--character-set-server=utf8mb4','--innodb-read-only-compressed=OFF','--collation-server=utf8mb4_unicode_ci','--transaction-isolation=READ-COMMITTED']
    ports:
      - 3306:3306

 

아래의 형태로 바꿨다.

version: "3.2"
services:
  database:
    container_name: database
    image: mariadb
    volumes:
      - ./db/conf.d:/etc/mysql/conf.d
      - ./db/data:/var/lib/mysql

    environment:
      - MYSQL_DATABASE=db1
      - MYSQL_ROOT_PASSWORD=1234
      - MYSQL_ROOT_HOST=%
    command: ['--character-set-server=utf8mb4','--innodb-read-only-compressed=OFF','--collation-server=utf8mb4_unicode_ci','--transaction-isolation=READ-COMMITTED']
    ports:
      - 3306:3306

 

conf.d ro가 왜 붙었는지 기억은 안나지만 무튼 프로젝트내의 경로로 변경했다. 사유는..각 프로젝트 별로, 이미지 별로 로그와 데이터를 분기해서 관리하고자 위함이다.

 

반응형