forked from IT-Cotato/12th-SimTok-BE
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.local.yml
More file actions
35 lines (32 loc) · 2.06 KB
/
docker-compose.local.yml
File metadata and controls
35 lines (32 loc) · 2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
version: "3.9" # Docker Compose 파일 버전 (3.9)을 명시한다.
services:
# -------------------- MySQL 서비스 설정 --------------------
mysql:
image: mysql:8.0 # 공식 MySQL 8.0 이미지를 사용한다.
container_name: itda-mysql-local # 컨테이너 이름을 지정한다.
restart: unless-stopped # 수동 중지가 아니면 항상 재시작하도록 설정한다.
env_file:
- .env.local # .env 파일에서 환경 변수를 읽어 컨테이너에 주입한다 (예: MySQL 비밀번호).
command: # MySQL 서버 실행 시 추가 옵션을 전달한다.
- --character-set-server=utf8mb4 # 서버 문자 셋을 utf8mb4로 설정하여 다국어/이모지를 지원한다.
- --collation-server=utf8mb4_unicode_ci # 정렬 방식을 지정한다.
ports:
- "3306:3306" # 로컬 포트 3306을 컨테이너 포트 3306에 연결한다.
volumes:
- mysql_data:/var/lib/mysql # 명명된 볼륨(mysql_data)을 마운트하여 데이터 지속성(Persistence)을 확보한다.
# -------------------- Redis 서비스 설정 --------------------
redis:
image: redis:7-alpine # 경량화된 Redis 7 Alpine 이미지를 사용한다.
container_name: itda-redis-local # 컨테이너 이름을 지정한다.
restart: unless-stopped # 수동 중지가 아니면 항상 재시작하도록 설정한다.
env_file:
- .env.local # .env 파일에서 환경 변수를 읽어 컨테이너에 주입한다.
command: ["redis-server", "--appendonly", "yes"] # Redis 서버를 실행하고, AOF(Append Only File) 기능을 활성화하여 데이터 안전성을 높인다.
ports:
- "6379:6379" # 로컬 포트 6379를 컨테이너 포트 6379에 연결한다.
volumes:
- redis_data:/data # 명명된 볼륨(redis_data)을 마운트하여 데이터 지속성을 확보한다 (AOF 파일 저장).
# -------------------- 볼륨 정의 --------------------
volumes:
mysql_data: # MySQL 데이터 저장을 위한 볼륨을 정의한다.
redis_data: # Redis 데이터 저장을 위한 볼륨을 정의한다.