# 백엔드 도커 이미지 (멀티스테이지 빌드)
# 학습 포인트: 1단계에서 Maven으로 빌드하고, 2단계에는 실행에 필요한 JRE+JAR만 담아요.
# 이렇게 하면 최종 이미지가 작아지고(빌드 도구 미포함), 서버에 Java를 설치할 필요도 없어요.

# ── 1단계: 빌드 ──
FROM maven:3.9-eclipse-temurin-21 AS build
WORKDIR /build
# pom.xml만 먼저 복사해 의존성을 캐시 — 코드만 바뀌면 라이브러리 다운로드를 다시 안 해요
COPY pom.xml .
RUN mvn -q dependency:go-offline
COPY src ./src
RUN mvn -q -DskipTests package

# ── 2단계: 실행 ──
FROM eclipse-temurin:21-jre-alpine
WORKDIR /app
COPY --from=build /build/target/mirim-backend-*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]
