728x90
반응형
SMALL
version: '3'
services:
mysql:
container_name: dev-db
image: mysql:8.0.34
volumes:
- /hdd/apps/test/data/mysql:/var/lib/mysql:rw
- /hdd/apps/test/initdb.d/test.sql:/data/application/init.sql
- /hdd/apps/test/data/logs/mysql:/var/log/mysql
environment:
MYSQL_ROOT_PASSWORD: 1234
MYSQL_DATABASE: test
MYSQL_USER: test
MYSQL_PASSWORD: test123
TZ: Etc/GMT
ports:
- 625:3306
command:
- --default-authentication-plugin=mysql_native_password
- --character-set-server=utf8mb3
- --lower_case_table_names=1
- --init-file=/data/application/init.sql
volumes에 test.sql을 /data/application/init.sql 에 바인딩 시킨뒤
command에 --init-file=/data/application/init.sql 로 도커 내부 경로를 선언하자.
test.sql
USE test;
CREATE TABLE test123 (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(25) NOT NULL UNIQUE,
`priority` TINYINT NOT NULL,
PRIMARY KEY (id)
)
comment 'test';
정상적으로 실행된다면 테이블이 만들어지며
테이블이 존재할 경우 로그로 확인이 가능하다.
728x90
반응형
LIST
'나의 주니어 개발 일기 > Docker(도커)' 카테고리의 다른 글
Pinpoint 를 통해서 모니터링을 해보자 (0) | 2024.05.13 |
---|---|
nGrinder 로 API 부하테스트 하기 with 도커 (1) | 2024.03.29 |
DOCKER COMPOSE의 환경변수 사용 방법 (0) | 2024.03.08 |
Docker overlay2 경로 이동 방법 (0) | 2024.02.27 |
Docker에서 log관리 안하면 디스크가 터진다. (0) | 2023.12.31 |