-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
87 lines (81 loc) · 2.1 KB
/
docker-compose.yml
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
services:
mysql:
image: mysql:latest
container_name: mysql-container
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
ports:
- "3306:3306"
volumes:
- mysql-data:/var/lib/mysql
networks:
- dreamong-network
healthcheck:
test: [ "CMD", "mysqladmin", "ping", "-h", "localhost" ]
interval: 30s
timeout: 10s
retries: 5
redis:
image: redis:latest
container_name: redis-container
ports:
- "6379:6379"
networks:
- dreamong-network
volumes:
- redis-data:/data
restart: always
backend:
build:
context: ./backend/dreamong
container_name: backend-container
environment:
SPRING_DATASOURCE_URL: jdbc:mysql://mysql-container:3306/${MYSQL_DATABASE}?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&allowPublicKeyRetrieval=true
SPRING_DATASOURCE_USERNAME: ${MYSQL_USER}
SPRING_DATASOURCE_PASSWORD: ${MYSQL_PASSWORD}
depends_on:
- mysql
- redis
ports:
- "8080:8080"
- "9093:9093"
networks:
- dreamong-network
restart: on-failure
frontend:
build:
context: ./frontend/dreamong
container_name: frontend-container
volumes:
- frontend-dist:/app/dist # dist 디렉토리를 공유
ports:
- "5173:80"
networks:
- dreamong-network
nginx:
image: nginx:latest
container_name: nginx-container
depends_on:
- backend
- frontend
ports:
- "80:80"
- "443:443"
volumes:
- /etc/nginx/nginx.conf:/etc/nginx/nginx.conf
- /etc/nginx/sites-available:/etc/nginx/sites-available
- /etc/nginx/sites-enabled:/etc/nginx/sites-enabled
- /etc/letsencrypt:/etc/letsencrypt
- frontend-dist:/app/dist # Nginx에 dist 디렉토리를 마운트
networks:
- dreamong-network
restart: always
volumes:
mysql-data:
redis-data:
frontend-dist: # 프론트엔드 빌드 파일을 저장할 볼륨
networks:
dreamong-network: