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가 왜 붙었는지 기억은 안나지만 무튼 프로젝트내의 경로로 변경했다. 사유는..각 프로젝트 별로, 이미지 별로 로그와 데이터를 분기해서 관리하고자 위함이다.
반응형