Files
kamco-cd-cron/shp-exporter/Dockerfile
2026-03-20 13:31:16 +09:00

39 lines
994 B
Docker

# ---- Build Stage ----
FROM eclipse-temurin:21-jdk-jammy AS builder
WORKDIR /workspace
# Gradle wrapper 및 빌드 설정 복사 (캐시 레이어 최적화)
COPY gradlew settings.gradle build.gradle ./
COPY gradle ./gradle
# 의존성 다운로드 (소스 변경 시 재빌드 방지)
RUN chmod +x gradlew && ./gradlew dependencies --no-daemon -q || true
# 소스 복사 후 빌드 (테스트 제외)
COPY src ./src
RUN ./gradlew clean bootJar -x test --no-daemon -q
# ---- Runtime Stage ----
FROM eclipse-temurin:21-jre-jammy
WORKDIR /app
# 출력 디렉토리 생성
RUN mkdir -p /data/model_output/export
# JAR 복사
COPY --from=builder /workspace/build/libs/shp-exporter-v2.jar app.jar
# GeoServer 크리덴셜은 환경변수로 주입
ENV GEOSERVER_USERNAME=""
ENV GEOSERVER_PASSWORD=""
ENTRYPOINT ["java", \
"-Xmx4g", "-Xms512m", \
"-XX:+UseG1GC", \
"-XX:MaxGCPauseMillis=200", \
"-XX:G1HeapRegionSize=16m", \
"-XX:+ParallelRefProcEnabled", \
"-jar", "app.jar"]