Docker 部署war包項目


https://blog.51cto.com/13760351/2469305?source=drh

 

部署原理

使用Docker部署war項目,必須要用容器,我們就用tomcact容器,其實都是將war包丟到tomcat的webapps目錄下,tomcat啟動的情況下會自動解壓war包。

部署方法

1.在Docker中安裝tomcat容器的鏡像,然后把war包丟到tomcat鏡像下webapps中即可。但是如果tomcat關閉了,其webapps下的包就會消失。
2.利用掛載,還是安裝tomcat容器的鏡像,但是不把war包丟到tomcat下的webapps中,直接創建一個外部文件夾,將這個外部文件夾跟wabapps關聯,這樣把war丟到新建的文件夾中,tomcat的webapps也能讀取到這個war包,這就是掛載。

操作環境:

1.已關閉防火牆,安全性
2.已經安裝docker容器
3.宿主機centos 7系統
4.項目已打好war包
5.tomcat相關配置文件已准備好

部署過程

1.搜索tomcat鏡像

docker search tomcat

Docker 部署war包項目

2.下載tomcat鏡像

docker pull tomcat

Docker 部署war包項目

3.查看鏡像

docker images

Docker 部署war包項目

4.啟動容器

docker run -d -p 8088:8080 tomcat &

排坑過程

如果發現網頁無法訪問,返回404

原因:下載的tomcat鏡像有問題,容器中的webapps文件夾為空,故無法訪問
嘗試以下步驟:
docker ps

Docker 部署war包項目

docker exec -it 8126cd702e4b /bin/bash #進入容器
rm -rf webapps #刪除空文件webapps
mv webapps.dist webapps #更換webapps文件

網頁驗證

Docker 部署war包項目

部署war包項目

第一種方法:war包拷貝到容器中

1.把war包和配置文件拷貝到宿主機

Docker 部署war包項目

2.拷貝到docker容器里面

docker cp admin.war 834273c974f2:/usr/local/tomcat/webapps
docker cp context.xml 834273c974f2:/usr/local/tomcat/conf

3.重啟容器

docker restart 2d9a7cdacc8b

4.網頁驗證:

Docker 部署war包項目

第二種方法:掛載共享目錄

1. 創建掛載目錄

mkdir /root/warPackage

2.上傳war包到 /root/warPackage

3. 掛載

docker run -it -v /root/warPackage/:/usr/local/tomcat/webapps/ /bin/bash
(-v (掛載) 虛擬機目錄 容器目錄)

4.查看掛載

宿主機查看:
cd /root/warPackage
ls

Docker 部署war包項目

容器內查看:
docker exec -it ecf6b6baa517 /bin/bash
cd webapps
ls

Docker 部署war包項目

若此時網頁無法訪問,可嘗試下面解決方法:

docker exec -it ecf6b6baa517 /bin/bash #進入容器
cd webapps
mv webapps webapps1 #重命名,目前容器運行,無法刪除,只能改名字
mv webapps.dist webapps #替換webapps文件
exit #退出容器
docker run -it -v /root/warPackage/:/usr/local/tomcat/webapps/ /bin/bash
#重新掛載

注意:

1.新下載的tomcat鏡像若啟動無法訪問,要參考排坑過程,若正常,可忽略。
2.掛載的war包路徑可自定義,若無法訪問,也可參考上面方法。
3.這里介紹的2種方法,可以根據公司需要,自行選擇使用。


免責聲明!

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



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