-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
37 lines (36 loc) · 1.42 KB
/
docker-compose.yml
File metadata and controls
37 lines (36 loc) · 1.42 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
36
37
services:
mysql:
image: mysql:8.0 # 생성이미지:버전
container_name: mysql
restart: always # 수동종료 전까지 항상 켜지도록 유지 (sleep 방지)
ports:
- "13306:3306" # 포트번호 host:docker 로컬 포트에 도커 포트를 마운트
volumes:
- ./db/mysql/data:/var/lib/mysql # 로컬저장경로:도커저장경로 (컨테이너 종료 후에도 데이터를 로컬에 저장하여 유지)
- ./db/mysql/init:/docker-entrypoint-initdb.d # 로컬저장경로:도커저장경로 / 해당 경로에 작성된 DDL을 컨테이너 생성 시 자동 실행
environment:
#=== 환경 변수 ===#
MYSQL_ROOT_PASSWORD: ${DOCKER_MYSQL_PASSWORD} # root 계정 비밀번호 설정
MYSQL_DATABASE: ${DOCKER_MYSQL_DATABASE} # 데이터베이스 생성 이름
TZ: ${DOCKER_TZ} # 타임존 설정
healthcheck:
test: [ "CMD", "mysqladmin", "ping", "-h", "localhost", "-p${DOCKER_MYSQL_PASSWORD}" ]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7.0
container_name: redis
restart: always
ports:
- "16379:6379"
command: [ "redis-server", "--requirepass", "${DOCKER_REDIS_PASSWORD}" ]
environment:
TZ: ${DOCKER_TZ}
volumes:
- ./db/redis/data:/data
healthcheck:
test: ["CMD", "redis-cli", "-a", "${DOCKER_REDIS_PASSWORD}", "ping"]
interval: 10s
timeout: 5s
retries: 5