-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.yaml
97 lines (92 loc) · 2.72 KB
/
docker-compose.yaml
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
services:
app:
image: kimsudang/nestjs-app:latest
container_name: app_container
ports:
- '4000:8080'
volumes:
- ./src:/usr/src/app/src # 소스 코드만 공유
- ./node_modules:/usr/src/app/node_modules # 호스트의 node_modules와 컨테이너의 node_modules 연결
environment:
- MYSQL_HOST=${MYSQL_HOST}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
# - MONGO_HOST=${MONGO_HOST}
# - MONGO_URI=mongodb://${MONGO_INITDB_ROOT_USERNAME}:${MONGO_INITDB_ROOT_PASSWORD}@${MONGO_HOST}:27017/${MONGO_INITDB_DATABASE}
- REDIS_HOST=${REDIS_HOST}
- REDIS_PASSWORD=${REDIS_PASSWORD}
- AWS_S3_BUCKET_NAME=${AWS_S3_BUCKET_NAME}
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
- AWS_REGION=${AWS_REGION}
depends_on:
mysql:
condition: service_healthy
redis:
condition: service_healthy
# mongodb:
# condition: service_healthy
networks:
- ko-chock-chock
mysql:
image: mysql:8.0
container_name: mysql_container
ports:
- '3306:3306'
volumes:
- mysql_data:/var/lib/mysql
environment:
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
LC_ALL: C.UTF-8
healthcheck:
test: ['CMD', 'mysqladmin', 'ping', '-h', '127.0.0.1', '-u', 'root', '-p ${MYSQL_ROOT_PASSWORD}']
interval: 10s
timeout: 5s
retries: 5
networks:
- ko-chock-chock
redis:
image: redis:latest
container_name: redis_container
ports:
- '6379:6379'
command: redis-server --requirepass ${REDIS_PASSWORD} --port 6379 --appendonly yes
volumes:
- redis_data:/data
healthcheck:
test: ['CMD', 'redis-cli', '-a', '${REDIS_PASSWORD}', 'ping']
interval: 10s
timeout: 5s
retries: 5
networks:
- ko-chock-chock
# mongodb:
# image: mongo:5.0.9
# container_name: mongo_container
# ports:
# - '27017:27017'
# volumes:
# - mongo_data:/data/db
# environment:
# MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME}
# MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD}
# MONGO_INITDB_DATABASE: ${MONGO_INITDB_DATABASE}
# healthcheck:
# test: ['CMD-SHELL', "echo 'db.runCommand({ping: 1})' | mongo --quiet"]
# interval: 10s
# timeout: 5s
# retries: 5
# networks:
# - ko-chock-chock
volumes:
mysql_data:
redis_data:
# mongo_data:
networks:
ko-chock-chock:
driver: bridge