- DB 기본값을 ws.ubuilder.co.kr/mos/jsh로 전체 통일 - context-path /spring → / 로 변경 - install.sh/bat에 Redis 자동 시작, MySQL 연결 확인 단계 추가 - health URL /health → /actuator/health 수정 - 개발환경 가이드 문서 동기화 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
57 줄
1.4 KiB
YAML
57 줄
1.4 KiB
YAML
# WBX Spring Framework — 프로덕션 Docker Compose
|
|
# 사용법: docker compose up -d
|
|
|
|
services:
|
|
app:
|
|
build: .
|
|
ports:
|
|
- "8080:8080"
|
|
environment:
|
|
SPRING_PROFILES_ACTIVE: prod,mysql
|
|
JWT_SECRET: ${JWT_SECRET}
|
|
SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/mos?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
|
|
SPRING_DATASOURCE_USERNAME: jsh
|
|
SPRING_DATASOURCE_PASSWORD: ${DB_PASSWORD}
|
|
SPRING_DATA_REDIS_HOST: redis
|
|
SERVER_CONTEXT_PATH: ${SERVER_CONTEXT_PATH:-/}
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_started
|
|
restart: always
|
|
healthcheck:
|
|
test: ["CMD", "wget", "-q", "--spider", "http://localhost:8080/actuator/health"]
|
|
interval: 30s
|
|
timeout: 3s
|
|
retries: 3
|
|
|
|
db:
|
|
image: mysql:8.0
|
|
environment:
|
|
MYSQL_DATABASE: mos
|
|
MYSQL_USER: jsh
|
|
MYSQL_PASSWORD: ${DB_PASSWORD}
|
|
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
|
|
ports:
|
|
- "3306:3306"
|
|
volumes:
|
|
- db_data:/var/lib/mysql
|
|
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
|
|
interval: 10s
|
|
timeout: 3s
|
|
retries: 5
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- redis_data:/data
|
|
|
|
volumes:
|
|
db_data:
|
|
redis_data:
|