From 80b13f2893aba70acb19ae77420a21c7d450fcc2 Mon Sep 17 00:00:00 2001 From: dykim Date: Tue, 9 Dec 2025 10:43:50 +0900 Subject: [PATCH] =?UTF-8?q?JVM=20=EC=98=B5=EC=85=98=20=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 79638a2..2834d48 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ RUN apk add --no-cache curl && \ https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v${OTEL_VERSION}/opentelemetry-javaagent.jar \ -o /opentelemetry-javaagent.jar -# 2단계: Tomcat 이미지 (Java 8 기준, Java 17 쓸 거면 jdk17-temurin 그대로 사용) +# 2단계: Tomcat 이미지 (Java 8 기준) FROM tomcat:9.0-jdk8-temurin ENV TZ=Asia/Seoul \ @@ -15,23 +15,30 @@ ENV TZ=Asia/Seoul \ OTEL_EXPORTER_OTLP_ENDPOINT=http://192.168.100.203:4317 \ OTEL_EXPORTER_OTLP_PROTOCOL=grpc \ OTEL_RESOURCE_ATTRIBUTES="deployment.environment=prod" \ - JAVA_TOOL_OPTIONS="-javaagent:/opt/opentelemetry-javaagent.jar" + JAVA_TOOL_OPTIONS="\ +-Xms1g \ +-Xmx1g \ +-XX:+UseG1GC \ +-XX:MaxGCPauseMillis=200 \ +-XX:+UnlockExperimentalVMOptions \ +-XX:+UseStringDeduplication \ +-XX:+HeapDumpOnOutOfMemoryError \ +-XX:HeapDumpPath=/tmp \ +-XX:+DisableExplicitGC \ +-javaagent:/opt/opentelemetry-javaagent.jar" # 타임존 설정 RUN ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime # OTEL 에이전트 복사 COPY --from=otel /opentelemetry-javaagent.jar /opt/opentelemetry-javaagent.jar -# OTEL 1000:1000 으로 구동 가능 하도록 처리 RUN chown 1000:1000 /opt/opentelemetry-javaagent.jar -# 🔽 기본 웹앱 정리 +# 기본 웹앱 정리 RUN rm -rf /usr/local/tomcat/webapps/* # Maven 빌드된 WAR 복사 -# Maven 빌드 결과 파일명에 맞게 수정 COPY target/sayit-helpdesk.war /usr/local/tomcat/webapps/ROOT.war -# TOMCAT 구동전 톰캣은 1000:1000 으로 구동 할 수 있도록 조정 RUN chown -R 1000:1000 /usr/local/tomcat/ EXPOSE 8080