19 lines
652 B
Docker
19 lines
652 B
Docker
# --- 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"] |