From 4ce96b72aa8a78f17bdb83f21c02d1302d464eb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dean=5B=EB=B0=B1=EB=B3=91=EB=82=A8=5D?= Date: Sun, 1 Feb 2026 22:27:20 +0900 Subject: [PATCH] prod --- Dockerfile-prod | 24 ++++++++++++++++++++++++ docker-compose-prod.yml | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 Dockerfile-prod create mode 100644 docker-compose-prod.yml diff --git a/Dockerfile-prod b/Dockerfile-prod new file mode 100644 index 00000000..72355443 --- /dev/null +++ b/Dockerfile-prod @@ -0,0 +1,24 @@ +# 1단계에서 만든 로컬 베이스 이미지를 사용 +FROM 192.168.2.73:18082/kamco-cd/base-java21-gdal:1.0 +FROM 192.168.2.73:18082/kamco-cd/base-java21-gdal:1.0 + +# 사용자 설정 (앱 별로 다를 수 있으므로 여기에 유지) +ARG UID=1000 +ARG GID=1000 + +RUN groupadd -g ${GID} kcomu \ + && useradd -u ${UID} -g ${GID} -m kcomu + +USER kcomu + +# 작업 디렉토리 설정 +WORKDIR /app + +# JAR 파일 복사 (Jenkins에서 빌드된 ROOT.jar) +COPY build/libs/ROOT.jar app.jar + +# 포트 노출 +EXPOSE 8080 +# 애플리케이션 실행 +# dev 프로파일로 실행 +ENTRYPOINT ["java", "-jar", "-Dspring.profiles.active=prod", "app.jar"] diff --git a/docker-compose-prod.yml b/docker-compose-prod.yml new file mode 100644 index 00000000..cf30cfff --- /dev/null +++ b/docker-compose-prod.yml @@ -0,0 +1,35 @@ +services: + kamco-changedetection-api: + build: + context: . + dockerfile: Dockerfile-prod + args: + UID: 1000 # manager01 UID + GID: 1000 # manager01 GID + image: kamco-changedetection-api:${IMAGE_TAG:-latest} + container_name: kamco-changedetection-api + user: "1000:1000" + ports: + - "7100:8080" + environment: + - SPRING_PROFILES_ACTIVE=dev + - TZ=Asia/Seoul + volumes: + - /mnt/nfs_share/images:/app/original-images + - /mnt/nfs_share/model_output:/app/model-outputs + - /mnt/nfs_share/train_dataset:/app/train-dataset + - /mnt/nfs_share/tmp:/app/tmp + - /kamco-nfs:/kamco-nfs + networks: + - kamco-cds + restart: unless-stopped + healthcheck: + test: [ "CMD", "curl", "-f", "http://localhost:8080/monitor/health" ] + interval: 10s + timeout: 5s + retries: 5 + start_period: 40s + +networks: + kamco-cds: + external: true