@@ -45,6 +45,8 @@ services:
4545
4646 # SpringBoot Application - Blue
4747 app-blue :
48+ profiles :
49+ - blue
4850 build :
4951 dockerfile : Dockerfile
5052 image : dormung-springboot:latest
@@ -56,12 +58,11 @@ services:
5658 condition : service_healthy
5759 environment :
5860 - SPRING_PROFILES_ACTIVE=prod
59- - SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/${MYSQL_DATABASE:-dormung }?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Seoul
60- - SPRING_DATASOURCE_USERNAME=${MYSQL_USER:-dormung_user }
61- - SPRING_DATASOURCE_PASSWORD=${MYSQL_PASSWORD:-dormung_password }
61+ - SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/${MYSQL_DATABASE}?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Seoul
62+ - SPRING_DATASOURCE_USERNAME=${MYSQL_USER}
63+ - SPRING_DATASOURCE_PASSWORD=${MYSQL_PASSWORD}
6264 - SPRING_DATA_REDIS_HOST=redis
6365 - SPRING_DATA_REDIS_PORT=6379
64- - SPRING_DATA_REDIS_PASSWORD=${REDIS_PASSWORD:-}
6566 - SERVER_PORT=8080
6667 - JAVA_OPTS=-Xms256m -Xmx1g -XX:+UseG1GC -XX:MaxGCPauseMillis=200
6768 - BUILD_INFO=${BUILD_TAG:-latest}
@@ -74,14 +75,16 @@ services:
7475 - dormung-network
7576 restart : unless-stopped
7677 healthcheck :
77- test : ["CMD", "curl", "-f", "http://localhost:8080/actuator/health"]
78+ test : ["CMD", "curl", "-f", "http://localhost:8080/api/ actuator/health"]
7879 interval : 30s
79- timeout : 10s
80+ timeout : 20s
8081 retries : 3
81- start_period : 60s
82+ start_period : 120s
8283
8384 # SpringBoot Application - Green
8485 app-green :
86+ profiles :
87+ - green
8588 build :
8689 dockerfile : Dockerfile
8790 image : dormung-springboot:latest
@@ -93,12 +96,11 @@ services:
9396 condition : service_healthy
9497 environment :
9598 - SPRING_PROFILES_ACTIVE=prod
96- - SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/${MYSQL_DATABASE:-dormung }?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Seoul
97- - SPRING_DATASOURCE_USERNAME=${MYSQL_USER:-dormung_user }
98- - SPRING_DATASOURCE_PASSWORD=${MYSQL_PASSWORD:-dormung_password }
99+ - SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/${MYSQL_DATABASE}?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Seoul
100+ - SPRING_DATASOURCE_USERNAME=${MYSQL_USER}
101+ - SPRING_DATASOURCE_PASSWORD=${MYSQL_PASSWORD}
99102 - SPRING_DATA_REDIS_HOST=redis
100103 - SPRING_DATA_REDIS_PORT=6379
101- - SPRING_DATA_REDIS_PASSWORD=${REDIS_PASSWORD:-}
102104 - SERVER_PORT=8080
103105 - JAVA_OPTS=-Xms256m -Xmx1g -XX:+UseG1GC -XX:MaxGCPauseMillis=200
104106 - BUILD_INFO=${BUILD_TAG:-latest}
@@ -111,20 +113,17 @@ services:
111113 - dormung-network
112114 restart : unless-stopped
113115 healthcheck :
114- test : ["CMD", "curl", "-f", "http://localhost:8080/actuator/health"]
116+ test : ["CMD", "curl", "-f", "http://localhost:8080/api/ actuator/health"]
115117 interval : 30s
116- timeout : 10s
118+ timeout : 20s
117119 retries : 3
118- start_period : 60s
119- profiles :
120- - green
120+ start_period : 120s
121+
121122
122123 # Nginx Load Balancer
123124 nginx :
124125 image : nginx:alpine
125126 container_name : nginx
126- depends_on :
127- - app-blue
128127 volumes :
129128 - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
130129 - ./nginx/conf.d:/etc/nginx/conf.d:ro
@@ -137,7 +136,7 @@ services:
137136 - dormung-network
138137 restart : unless-stopped
139138 healthcheck :
140- test : ["CMD", "curl", "-f", "http://localhost/health"]
139+ test : [ "CMD", "curl", "-f", "http://localhost/health" ]
141140 interval : 30s
142141 timeout : 10s
143142 retries : 3
0 commit comments