Skip to content

feat: #4 Docker 통합 환경 구성#5

Merged
mrangjw merged 1 commit intodevelopfrom
feat/#4
Mar 16, 2026
Merged

feat: #4 Docker 통합 환경 구성#5
mrangjw merged 1 commit intodevelopfrom
feat/#4

Conversation

@mrangjw
Copy link
Copy Markdown
Contributor

@mrangjw mrangjw commented Mar 16, 2026

개요

전체 서비스가 docker compose up -d로 기동되도록 통합 환경을 구성합니다.

closes #4

변경 사항 (4 files, +217 / -51)

신규 파일

  • docker/Dockerfile.spring — Gradle 8.12 + JDK 21 멀티스테이지 빌드
  • docker/Dockerfile.web — Node 20 빌드 + Nginx SPA
  • docker/nginx.conf — SPA fallback + API 프록시 → Gateway

docker-compose.yml 수정

  • JDBC → R2DBC URL (WebFlux 기반)
  • JWT_SECRET 공유 (gateway ↔ auth-service)
  • EVENT_SERVICE_URL (reservation → event WebClient)
  • Gateway 라우팅: 환경변수 기반 5개 서비스
  • Web 프론트엔드 서비스 추가 (Nginx:3000)
  • version 키 제거 (Compose V2)

전체 구성 (8개 서비스 + 인프라)

Web(3000) → Gateway(8080) → auth(8081) / user(8082) / event(8083) / reservation(8084) / payment(8085)
                               ↕ PostgreSQL(5432), Redis(6379), Kafka(9092)

전체 서비스가 docker compose up -d로 기동되도록 통합 환경을 구성합니다.

## Dockerfile
- docker/Dockerfile.spring: Gradle 8.12 + JDK 21 멀티스테이지 빌드
- docker/Dockerfile.web: Node 20 빌드 + Nginx SPA 서빙
- docker/nginx.conf: SPA fallback + API 프록시 → Gateway(8080)

## docker-compose.yml 주요 수정
- JDBC → R2DBC URL로 변경 (모든 서비스가 WebFlux/R2DBC 기반)
- JWT_SECRET 공유: gateway ↔ auth-service 동일 시크릿
- EVENT_SERVICE_URL: reservation → event 서비스 간 WebClient 통신
- Gateway 라우팅: 환경변수 기반으로 5개 서비스 라우팅 구성
- version 키 제거 (Compose V2 표준)
- Web 프론트엔드 서비스 추가 (Nginx, 포트 3000)

## 서비스 구성 (8개)
| Service | Port | 역할 |
|---------|------|------|
| web | 3000 | Vue 3 프론트엔드 (Nginx) |
| gateway | 8080 | API Gateway + JWT 인증 |
| auth | 8081 | 인증/인가 |
| user | 8082 | 유저/테넌트 |
| event | 8083 | 공연/좌석 |
| reservation | 8084 | 예매/대기열 |
| payment | 8085 | 결제 |
| infra | - | PostgreSQL, Redis, Kafka |
@mrangjw mrangjw merged commit 1b063d3 into develop Mar 16, 2026
@mrangjw mrangjw deleted the feat/#4 branch March 16, 2026 09:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant