728x90
원래는 CMD, ENTRYPOINT 같이 쓰지 않음...
2024.01.09 - [infra/Docker] - Dockerfile 에서 CMD, ENTRYOINT 차이
FROM rockylinux:9.1
#USER root # 우리는 super로 변경할 예정이라 제거
# 필요한 패키지 설치
RUN yum clean all \
&& yum repolist \
&& yum -y install ncurses net-tools openssh-server procps tcpdump man tar unzip vi iproute telnet iputils traceroute openssl\
&& yum -y install wget vim telnet apr \
&& yum -y install apr-util apr-devel apr-util-devel \
&& yum -y install openssl \
&& yum -y install python-setuptools \
&& yum -y install java-1.8.0-openjdk \
&& yum clean all
# tomcat 설치 및 profile 설정
RUN mkdir /usr/local/tomcat
RUN wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz -O /tmp/tomcat.tar.gz
RUN cd /tmp && tar xvfz tomcat.tar.gz
RUN cp -Rv /tmp/apache-tomcat-8.5.24/* /usr/local/tomcat/
RUN rm -rf /tmp/* && rm -rf /usr/local/tomcat/webapps/*
RUN echo "$JAVA_OPTS -Dspring.profiles.active=SPRING_PROFILES_ACTIVE" > /usr/local/tomcat/bin/setenv.sh
RUN chmod 777 /usr/local/tomcat/bin/setenv.sh
RUN echo "export JAVA_OPTS=\"-Dspring.profiles.active=real\"" > /usr/local/tomcat/bin/setenv.sh
RUN chmod 777 /usr/local/tomcat/bin/setenv.sh
# 흠... dnf 영역은 빌드 시 에러가 발생하고, curl 부분은 잘 작동하기때문에 주석으로 처리
#RUN dnf -y install curl
#RUN dnf -y install elinks
#RUN yum -y install locate
# 날짜설정
RUN date
ENV TZ=Asia/Seoul
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN echo "alias ll='ls --color=auto -alF'" >> ~/.bashrc
RUN source ~/.bashrc
# ssh 접속 허용 및 alias 등록
RUN echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
RUN echo "alias webstart='/usr/local/tomcat/bin/startup.sh'" >> ~/.bashrc
RUN echo "alias webstop='/usr/local/tomcat/bin/shutdown.sh'" >> ~/.bashrc
RUN echo "alias weblog='tail -f /usr/local/tomcat/logs/catalina.out'" >> ~/.bashrc
# sshd 재시작
CMD ["/usr/sbin/sshd", "-D"]
# tomcat sutdown 시 쓰레드가 남아서 안죽는경우가 많아서 넣어놓음 (선택요소)
RUN sed -i '$ d' /usr/local/tomcat/bin/startup.sh -i
RUN echo "export CATALINA_PID=/usr/local/tomcat/bin/catalina.pid" >> /usr/local/tomcat/bin/startup.sh
RUN echo 'exec "$PRGDIR"/"$EXECUTABLE" start "$@"' >> /usr/local/tomcat/bin/startup.sh
# 컨테이너 재기동 시 tomcat service enable 파일 설정
COPY tomcat.service /etc/systemd/system
RUN systemctl enable tomcat
WORKDIR /usr/local/tomcat
# 내/외부 게이트웨이 변경 및 실행
ENTRYPOINT ["sh", "-c", "route del default gw 10.101.1.1 && ip route add default via 10.101.2.1 dev eth1 metric 1000 && /sbin/init"]728x90
반응형
LIST
'infra > Docker' 카테고리의 다른 글
| docker + jenkins + git (0) | 2024.01.10 |
|---|---|
| IPv6 에러 (docker-compose.yml) (1) | 2024.01.10 |
| Tomcat 전용 Dockerfile (0) | 2024.01.10 |
| MacVLan 구성 (0) | 2024.01.10 |
| Dockerfile 에서 CMD, ENTRYOINT 차이 (0) | 2024.01.09 |