-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
21 lines (20 loc) · 1.28 KB
/
Copy pathdocker-compose.yml
File metadata and controls
21 lines (20 loc) · 1.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
services:
# container 묶음
mysql:
# docker compose 내에서 이 서비스를 부르는 논리적인 이름
image: mysql:8.0 # Docker Hub 에서 가져올 공식 이미지 이름
container_name: blog-mysql # 컨테이너 이름
environment:
# MySQL 컨테이너 실행 시 환경 변수 설정
MYSQL_ROOT_PASSWORD: root1234 # 루트 계정 비밀번호
MYSQL_DATABASE: blog_db # 데이터베이스 이름
MYSQL_USER: blog_user # root 외에 추가로 생성할 일반 사용자 계정
MYSQL_PASSWORD: blog1234 # 일반 사용자 계정 비밀번호
ports:
- "3306:3306" # 포트 포워딩 (호스트 포트:컨테이너 포트)
volumes:
- mysql_data:/var/lib/mysql # mysql_data 볼륨을 컨테이너의 /var/lib/mysql 디렉토리에 마운트
- ./init.sql:/docker-entrypoint-initdb.d/init.sql # init.sql 파일을 컨테이너의 /docker-entrypoint-initdb.d/init.sql 파일에 마운트, /docker-entrypoint-initdb.d/ 경로는 MySQL 컨테이너가 처음 생성될 때 내부에 있는 .sql 파일을 자동으로 실행해 주는 약속된 장소임.
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci # MySQL 서버 시작 시 실행할 명령어
volumes:
mysql_data: # mysql_data 볼륨을 정의