47 lines
1.3 KiB
Docker
47 lines
1.3 KiB
Docker
|
|
# 윈도우용 PLM 애플리케이션 Dockerfile
|
||
|
|
FROM tomcat:7.0.94-jre7-alpine
|
||
|
|
|
||
|
|
# 메타데이터
|
||
|
|
LABEL maintainer="PLM Development Team"
|
||
|
|
LABEL description="PLM Application for Windows Environment"
|
||
|
|
LABEL version="1.0"
|
||
|
|
|
||
|
|
# 작업 디렉토리 설정
|
||
|
|
WORKDIR /usr/local/tomcat
|
||
|
|
|
||
|
|
# 필수 패키지 설치 (curl 포함)
|
||
|
|
RUN apk add --no-cache curl tzdata
|
||
|
|
|
||
|
|
# 환경 변수 설정
|
||
|
|
ENV CATALINA_HOME=/usr/local/tomcat
|
||
|
|
ENV CATALINA_BASE=/usr/local/tomcat
|
||
|
|
ENV JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms512m -Xmx1024m"
|
||
|
|
ENV TZ=Asia/Seoul
|
||
|
|
|
||
|
|
# 타임존 설정 (서울)
|
||
|
|
RUN cp /usr/share/zoneinfo/Asia/Seoul /etc/localtime && \
|
||
|
|
echo "Asia/Seoul" > /etc/timezone
|
||
|
|
|
||
|
|
# 기본 Tomcat 애플리케이션 제거
|
||
|
|
RUN rm -rf /usr/local/tomcat/webapps/*
|
||
|
|
|
||
|
|
# 애플리케이션 복사
|
||
|
|
COPY WebContent/ /usr/local/tomcat/webapps/ROOT/
|
||
|
|
COPY tomcat-conf/context.xml /usr/local/tomcat/conf/
|
||
|
|
|
||
|
|
# 로그 디렉토리 생성
|
||
|
|
RUN mkdir -p /usr/local/tomcat/logs
|
||
|
|
|
||
|
|
# 권한 설정
|
||
|
|
RUN chmod -R 755 /usr/local/tomcat/webapps/ROOT && \
|
||
|
|
chmod 644 /usr/local/tomcat/conf/context.xml
|
||
|
|
|
||
|
|
# 포트 노출
|
||
|
|
EXPOSE 8080
|
||
|
|
|
||
|
|
# 개선된 헬스체크 (윈도우 환경 고려)
|
||
|
|
HEALTHCHECK --interval=30s --timeout=15s --start-period=90s --retries=5 \
|
||
|
|
CMD curl -f http://localhost:8080/ROOT/ || curl -f http://localhost:8080/ || exit 1
|
||
|
|
|
||
|
|
# 실행 명령
|
||
|
|
CMD ["catalina.sh", "run"]
|