docker run -d -p 8080:8080 --name mytom tomcat
docker exec mytom mkdir -p /usr/local/tomcat/webapps/ROOT
docker exec mytom /bin/sh -c "echo '<h3>was1</h3>' > /usr/local/tomcat/webapps/ROOT/index.jsp"
docker run -d -p 8080:8080 --name mc --rm --mount type=bind,source="D:/web/ROOT/index.jsp",target=/usr/local/tomcat/webapps/ROOT/index.jsp tomcat
docker run -d -p 8080:8080 --name mc --rm \
--mount type=bind,source="D:/web/ROOT/index.jsp",target=/usr/local/tomcat/webapps/ROOT/index.jsp \
tomcat
docker run -d -p 8080:8080 --name mc --rm --mount type=bind,source="D:/web",target=/usr/local/tomcat/webapps tomcat
docker run -d -p 8080:8080 --name mc --rm \
--mount type=bind,source="D:/web",target=/usr/local/tomcat/webapps \
tomcat
# OpenJDK 버전의 이미지를 사용한다.
FROM openjdk:23-jdk
# 여기서는 Tomcat 11 버전을 사용한다.
ENV CATALINA_HOME /usr/local/tomcat
ENV PATH $CATALINA_HOME/bin:$PATH
RUN mkdir -p "$CATALINA_HOME"
WORKDIR $CATALINA_HOME
# 톰캣의 원하는 버전을 찾아 설치한다.
RUN curl -fSL https://archive.apache.org/dist/tomcat/tomcat-11/v11.0.0/bin//apache-tomcat-11.0.0.tar.gz -o tomcat.tar.gz \
&& tar -xvf tomcat.tar.gz --strip-components=1 \
&& rm tomcat.tar.gz
# default port
EXPOSE 8080
CMD ["catalina.sh", "run"]
docker build -t tomcat11-java23 .
※ $ vi Dockerfile
설치할려는 tomcat버전은 바뀔수가 있으므로 tomcat 홈페이지에서 검색해서 사용하면 된다.
※ 내역
/usr/local/tomcat/webapps/ROOT 볼륨을 만들어 여기에 배포하면 Context root가 된다.
FROM ubuntu:latest
RUN apt-get -y update && apt-get -y upgrade
RUN apt-get -y install openjdk-8-jdk wget
RUN mkdir /usr/local/tomcat
RUN wget http://apache.tt.co.kr/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz -O /tmp/tomcat.tar.gz
RUN cd /tmp && tar xvfz tomcat.tar.gz
RUN cp -Rv /tmp/apache-tomcat-9.0.14/* /usr/local/tomcat/
RUN rm -rf /tmp/* && rm -rf /usr/local/tomcat/webapps/*
EXPOSE 8080
CMD ["/usr/local/tomcat/bin/catalina.sh", "run"]
-t 는 이미지명을 사용할 경우, 뒤에 이름을 지정... 없으면 이미지ID로 구분할 수 있다.
맨뒤 점(.) 은 Dockerfile이 위치한 디렉토리 (현재 디렉토리라 점)
$ docker build -t imgtom:1 .
1) 로그 폴더
$ mkdir /tom/logs
2) 배포폴더
$ mkdir /tom/webapps
$ vi /tom/webapps/mc/index.html << 대충 1개 파일 만들어 본다.
$ docker run -it -d -p 8080:8080 -v /tom/logs:/usr/local/tomcat/logs -v /tom/webapps:/usr/local/tomcat/webapps --name nwtom imgtom:1
http://192.168.99.100:8080/mc/index.html