diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5fd035a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +# --- 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"] \ No newline at end of file