컨테이너 서비스 구동 계정 조정

This commit is contained in:
2025-12-05 10:57:51 +09:00
parent 1ebb7522dc
commit 6d9763335c

View File

@@ -1,34 +1,42 @@
# 1단계: OTEL Java 에이전트 다운로드
# 1단계: 에이전트 다운로드
FROM alpine:3.20 AS otel
ARG OTEL_VERSION=2.21.0
RUN apk add --no-cache curl && \
curl -fL \
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 그대로 사용)
FROM tomcat:9.0-jdk8-temurin
# 2단계: Tomcat 이미지
FROM tomcat:9.0-jdk17-temurin
# non-root 계정 생성 (UID/GID 1000:1000)
RUN groupadd -g 1000 job && \
useradd -u 1000 -g 1000 -m job
# Tomcat 디렉토리 권한을 1000:1000 으로 변경
RUN chown -R 1000:1000 /usr/local/tomcat
ENV TZ=Asia/Seoul \
OTEL_SERVICE_NAME=helpdesk_service \
OTEL_SERVICE_NAME=sayis_service \
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"
# 타임존 설정
# 타임존 적용
RUN ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
# OTEL 에이전트 복사
# 에이전트 복사
COPY --from=otel /opentelemetry-javaagent.jar /opt/opentelemetry-javaagent.jar
# 기본 ROOT 앱 제거
# 기 앱 제거
RUN rm -rf /usr/local/tomcat/webapps/*
# Maven 빌드된 WAR 복사
# Maven 빌드 결과 파일명에 맞게 수정
COPY target/sayit-helpdesk.war /usr/local/tomcat/webapps/ROOT.war
# Maven 빌드된 WAR 복사 (target/sayis.war 기준)
COPY target/sayis.war /usr/local/tomcat/webapps/ROOT.war
# 이후부터는 1000:1000 계정으로 동작
USER 1000:1000
EXPOSE 8080
CMD ["catalina.sh","run"]