溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Docker 部署war包項(xiàng)目

發(fā)布時(shí)間:2020-09-04 03:18:06 來(lái)源:網(wǎng)絡(luò) 閱讀:1079 作者:低調(diào)的男孩 欄目:系統(tǒng)運(yùn)維

部署原理

使用Docker部署war項(xiàng)目,必須要用容器,我們就用tomcact容器,其實(shí)都是將war包丟到tomcat的webapps目錄下,tomcat啟動(dòng)的情況下會(huì)自動(dòng)解壓war包。

部署方法

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

操作環(huán)境:

1.已關(guān)閉防火墻,安全性
2.已經(jīng)安裝docker容器
3.宿主機(jī)centos 7系統(tǒng)
4.項(xiàng)目已打好war包
5.tomcat相關(guān)配置文件已準(zhǔn)備好

部署過(guò)程

1.搜索tomcat鏡像

docker search tomcat

Docker 部署war包項(xiàng)目

2.下載tomcat鏡像

docker pull tomcat

Docker 部署war包項(xiàng)目

3.查看鏡像

docker images

Docker 部署war包項(xiàng)目

4.啟動(dòng)容器

docker run -d -p 8088:8080 tomcat &

排坑過(guò)程

如果發(fā)現(xiàn)網(wǎng)頁(yè)無(wú)法訪問(wèn),返回404

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

Docker 部署war包項(xiàng)目

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

網(wǎng)頁(yè)驗(yàn)證

Docker 部署war包項(xiàng)目

部署war包項(xiàng)目

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

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

Docker 部署war包項(xiàng)目

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.網(wǎng)頁(yè)驗(yàn)證:

Docker 部署war包項(xiàng)目

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

1. 創(chuàng)建掛載目錄

mkdir /root/warPackage

2.上傳war包到 /root/warPackage

3. 掛載

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

4.查看掛載

宿主機(jī)查看:
cd /root/warPackage
ls

Docker 部署war包項(xiàng)目

容器內(nèi)查看:
docker exec -it ecf6b6baa517 /bin/bash
cd webapps
ls

Docker 部署war包項(xiàng)目

若此時(shí)網(wǎng)頁(yè)無(wú)法訪問(wèn),可嘗試下面解決方法:

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

注意:

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

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI