File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 22FROM gradle:8.8-jdk21 AS builder
33WORKDIR /app
44
5- # Gradle 캐시 최적화를 위해 먼저 의존성 레이어만 복사 (옵션)
6- # 필요하면 settings.gradle, gradle.properties 등도 함께 복사
5+ # Gradle 캐시 최적화를 위한 사전 레이어 (옵션)
76COPY build.gradle settings.gradle gradlew ./
87COPY gradle gradle
98RUN chmod +x gradlew
10-
119RUN ./gradlew --no-daemon dependencies || true
1210
1311# 실제 소스 복사 후 빌드
1412COPY . .
15- # 테스트까지 돌리고 싶으면 'test bootJar', 빠르게는 'bootJar'만
13+ # COPY . . 로 gradlew가 덮어써질 수 있으므로 다시 실행 권한 부여
14+ RUN chmod +x gradlew
15+ # 테스트까지 돌리려면 'clean test bootJar' 로 변경
1616RUN ./gradlew --no-daemon clean bootJar
1717
1818# ===== Runtime stage =====
@@ -21,7 +21,10 @@ ENV TZ=Asia/Seoul \
2121 JAVA_OPTS="-Duser.timezone=Asia/Seoul -XX:+UseZGC -XX:MaxRAMPercentage=75"
2222WORKDIR /app
2323
24- # 산출 JAR 복사 (빌드 결과가 하나라면 다음 라인으로 충분)
24+ # (헬스체크용) curl 설치 - docker compose healthcheck가 컨테이너 내부에서 실행됨
25+ RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*
26+
27+ # 빌드 산출물 복사
2528COPY --from=builder /app/build/libs/*.jar app.jar
2629
2730EXPOSE 8080
You can’t perform that action at this time.
0 commit comments