Files
blog-backend/Dockerfile
ParkWonYeop aac88be0c0 add project
2025-12-26 10:07:56 +09:00

23 lines
860 B
Docker

# 1단계: 빌드 스테이지
FROM eclipse-temurin:21-jdk-alpine AS build
WORKDIR /app
COPY . .
# Gradle 빌드 (실행 가능한 bootJar만 생성하도록 함)
RUN ./gradlew clean bootJar -x test
# 2단계: 실행 스테이지
FROM eclipse-temurin:21-jre-alpine
WORKDIR /app
# 보안을 위해 비루트 사용자 생성
RUN addgroup -S spring && adduser -S spring -G spring
# 중요: 파일을 복사할 때 소유권을 spring 사용자에게 부여합니다.
# 경로를 /app/app.jar로 명시하거나, WORKDIR 내의 상대 경로를 사용합니다.
COPY --from=build --chown=spring:spring /app/build/libs/*.jar app.jar
# 사용자 전환
USER spring:spring
# 실행 경로 수정: /app.jar가 아니라 app.jar (현재 위치) 또는 /app/app.jar를 사용해야 합니다.
ENTRYPOINT ["java", "-jar", "-Dspring.profiles.active=prod", "app.jar"]