Docker 下自定義安裝 Tomcat


服務器環境建好以后,如果要擴展,只需要執行(詳細命令到下文中找)
docker run .....
發完版本需要重啟服務,執行(詳細命令到下文中找)
docker restart [容器的ID]

將文件傳到 tomcat 下,可參考  Docker cp 將宿主機上的文件復制到容器中


 

准備文件

apache-tomcat-9.0.31.tar.gz

jdk-8u191-linux-x64.tar.gz


 CentOS上安裝Docker。

1.檢查內核版本,返回的值大於3.10即可。、
$ uname -r

安裝 Docker 

yum -y install docker


 

將tomcat 、jdk 傳到 /usr/local/docker目錄中

 在java、jdk同級目錄下,創建 Dockerfile 文件,文件名不能錯,否則后面 build 會檢測不到

[root@localhost ~]# cd /usr/local/docker/

[root@localhost docker]# touch Dockerfile 

 

 

Dockerfile 文件內容如下

FROM         centos
MAINTAINER    ChenJun
#把java與tomcat添加到容器中
ADD ./jdk-8u191-linux-x64.tar.gz /usr/local/
ADD ./apache-tomcat-9.0.31.tar.gz /usr/local/
#安裝vim編輯器
RUN yum -y install vim
#設置工作訪問時候的WORKDIR路徑,登錄落腳點
ENV MYPATH /usr/local
WORKDIR $MYPATH
#配置java與tomcat環境變量
ENV JAVA_HOME /usr/local/jdk1.8.0_191
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.31
ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.31
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
#容器運行時監聽的端口
EXPOSE  8080
#啟動時運行tomcat
# ENTRYPOINT ["/usr/local/apache-tomcat-9.0.31/bin/startup.sh" ]
# CMD ["/usr/local/apache-tomcat-9.0.31/bin/catalina.sh","run"]
CMD /usr/local/apache-tomcat-9.0.31/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.31/bin/logs/catalina.out

構建

#點表示當前目錄 ,也可以直接指定  docker build -t tomcat9 /usr/local/docker

[root@localhost docker]# docker build -t tomcat9 . 

 如果顯示超時,可以重啟一下 systemctl restart docker

 構建成功后,如處圖 

 

啟動docker 加上 webapp、logs目錄映射

[root@localhost web]# docker run -d -p 9091:8080 --name tomcat9091 -v /opt/web/tomcat9091/webapps:/usr/local/apache-tomcat-9.0.31/webapps -v /opt/web/tomcat9091/logs/:/usr/local/apache-tomcat-9.0.31/logs --privileged=true tomcat9

[root@localhost web]# docker run -d -p 9092:8080 --name tomcat9092 -v /opt/web/tomcat9092/webapps:/usr/local/apache-tomcat-9.0.31/webapps -v /opt/web/tomcat9092/logs/:/usr/local/apache-tomcat-9.0.31/logs --privileged=true tomcat9

 

創建映射后,會自動的在 宿主機上建立相應的目錄(tomcat webapps下面原有的目錄不會映射過來,不知道為什么,通過 docker exec ... 進去看的時候,容器webapps里面也沒有文件

 

 

 

 測試Tomcat

建個測試的war包

 

 

 

 war 包上傳到 9091下面,如果不加 test是不會顯示的。默認帶小貓的頁面,不在本地的 webapps下面

 

 

 

 

 

 

 

 

 

 

 

 有時候war包放上去,需要重新服務。這時候可以用命令重啟

docker restart [容器的ID]

 查看容器中的內容

[root@localhost docker]# docker exec 07de30dd6e3c ls -l

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM