톰캣 컨테이너 설치 및 실행
sudo docker run -itd --name=tomcat8.5 -p 8080:8080 -p 8005:8005 -p 8443:8443 --entrypoint=/bin/bash tomcat:8.5-jre11-openjdk-slim-bullseye
포트는 8080(톰캣) , 8005(톰캣어드민) 두개를 연다.
톰캣 어드민 페이지 접속 셋팅
여기에 접속이 되어야 한다.
http://localhost:8080/manager/html
{톰캣홈디렉토리}/conf/tomcat-user.xml 중
< tomcat-user > 부분 수정<tomcat-users xmlns="http://tomcat.apache.org/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd" <role rolename="manager-gui"/> <role rolename="manager"/> <role rolename="admin"/> <role rolename="admin-gui"/> <role rolename="manager-script"/> <role rolenmae="admin-script"/> <user username="tomcat" password="tomcat" roles="admin-script,manager-gui,manager-script"/> </tomcat-users>
/opt/tomcat/webapps/manager/META-INF/context.xml
/usr/loca/webapps/manager/META-INF/context.xml
아래 부분 주석 처리<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
Tomcat Pull
$ sudo docker pull tomcat:8.5
컨테이너 실행 , 안됨
$ sudo docker run -itd --name=tomcat8.5 -p 8080:8080 "tomcat:8.5"
중지됨
$ sudo docker ps -a
실행 안됨
$ sudo docker run -it --rm --name=tomcat8.5 -p 8080:8080 --entrypoint=/bin/bash tomcat:8.5-jre11
sudo docker run -itd --name=tomcat8.5 --rm --entrypoint=/bin/bash -p 8080:8080 tomcat:8.5-jre11
중지 되지는 않음. 톰캣 접속 안됨
오류 발생
오류내용
Cannot find /usr/local/tomcat/bin/setclasspath.sh This file is needed to run this program
$ docker exec -it ‘컨테이너명’ bash
# apt-get update
# apt-get install vim
안됨
webapps 폴더안에 필요한 기본적인 파일및 폴더들 다른 곳에서 복사해서 놔둠
$ sudo docker run -it --rm --entrypoint=/bin/bash tomcat:8.5-jre11
$ sudo docker run -it --rm --entrypoint=/bin/bash tomcat:9.0.64-jre11-openjdk-slim-bullseye
$ sudo docker run -itd --name=tomcat8.5 -p 8080:8080 --rm --entrypoint=/bin/bash tomcat:9.0.64-jre11-openjdk-slim-bullseye
오류 원인 분석 :
톰캣 버전과 뒤에 JRE버전간에 이슈가 있는듯 하다.
그래서 뒤에 -jre11-openjdk-slim-bullseye를 붙여주니 된다.