# --- build stage --- FROM gradle:8.10.2-jdk17-alpine AS build WORKDIR /workspace COPY . . # 테스트는 생략(필요시 제거) RUN ./gradlew --no-daemon clean bootJar -x test # --- run stage --- FROM eclipse-temurin:17-jre-alpine WORKDIR /app RUN apk add --no-cache tzdata && cp /usr/share/zoneinfo/Asia/Seoul /etc/localtime # 로그 디렉터리 생성 및 권한 설정 RUN mkdir -p /app/logs && chown -R 1000:1000 /app RUN addgroup -S app && adduser -S app -G app -u 1000 USER app COPY --from=build /workspace/build/libs/*.jar /app/app.jar EXPOSE 8080 ENV JAVA_OPTS="-Xms256m -Xmx512m" ENTRYPOINT ["sh","-c","java $JAVA_OPTS -jar /app/app.jar"]