主頁 > 知識(shí)庫 > 使用Docker部署war包項(xiàng)目的實(shí)現(xiàn)

使用Docker部署war包項(xiàng)目的實(shí)現(xiàn)

熱門標(biāo)簽:400 電話 申請費(fèi)用 山東電信外呼系統(tǒng)靠譜嗎 比較穩(wěn)定的外呼系統(tǒng) 信貸電銷機(jī)器人系統(tǒng) 鸚鵡螺號(hào)航海地圖標(biāo)注時(shí)間 長沙回?fù)芡夂粝到y(tǒng) 云南云電銷機(jī)器人招商 ai電話機(jī)器人營銷 江蘇自動(dòng)外呼系統(tǒng)一般多少錢

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

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

一、安裝tomcat鏡像并啟動(dòng)

1、docker下搜索tomcat鏡像,前提是docker處于啟動(dòng)狀態(tài),docker如何啟動(dòng)以及如何設(shè)置開機(jī)自啟,這里就不說了

docker search tomcat

2、根據(jù)名字下載docker,docker pull docker.io/tomcat

3、啟動(dòng)tomcat

 docker run -d -p 8088:8080 docker.io/tomcat

 -d表示后臺(tái)運(yùn)行,-p端口映射,前面的8088是外圍訪問端口(也就是本機(jī)ip對外開放的端口),后面8080是docker容器內(nèi)部的端口。

4、瀏覽器訪問,看tomcat是否啟動(dòng)

三、將springboot項(xiàng)目改造成war包項(xiàng)目

       使用springboot習(xí)慣了,再創(chuàng)建一個(gè)war包項(xiàng)目,比較麻煩,我就新建了一個(gè)springboot項(xiàng)目,然后改成war項(xiàng)目,如果你本身是war包項(xiàng)目,可以忽略這一步了。

1、創(chuàng)建一個(gè)springboot項(xiàng)目,這個(gè)就不講了,需要的可以自己看我的另一篇博客:原 SpringBoot之創(chuàng)建并簡單使用SpringBoot

2、修改pom.xml文件

   2.1將jar改成war

  2.2移除內(nèi)置web模塊自帶的tomcat

  2.3 添加servlet依賴,不然打包報(bào)錯(cuò)

<dependency>
  <groupId>javax.servlet</groupId>
	<artifactId>javax.servlet-api</artifactId>
	<version>3.1.0</version>
</dependency>

   2.4 給項(xiàng)目加別名,在build標(biāo)簽下增加finalName,就是項(xiàng)目名了,如果不加,項(xiàng)目名就是你的artifactId-version,生成的war包名稱也是artifactId-version.war,瀏覽器訪問的時(shí)候項(xiàng)目名字太長了。這一步看個(gè)人愛好

3、 修改啟動(dòng)類,啟動(dòng)類繼承SpringBootServletInitializer

四、將war包放在tomcat容器的webapps下啟動(dòng)war包

1、隨便創(chuàng)建一個(gè)文件夾,用來存放上傳的war包,我放在了根目錄/下了

mkdir warPackage,然后將文件傳到該目錄下

2、將war包拷貝進(jìn)tomcat容器的webapps目錄下

2.1、需要知道運(yùn)行的tomcat容器的容器ID,運(yùn)行docker ps

2.2、拷貝war包進(jìn)tomcat容器的webapps目錄下,命令格式:docker cp xxx.war包路徑 容器ID:/要復(fù)制過去的目錄路徑

docker cp /warPackage/dockerProject.war e591e16899c6:/usr/local/tomcat/webapps

2.3、查看是否拷貝進(jìn)去了

進(jìn)入docker中的tomcat容器中:docker exec -it e591e16899c6 /bin/bash

退出容器:exit

3、重啟容器:docker restart +容器ID

4、瀏覽器訪問路徑為:你剛才訪問的端口:項(xiàng)目名/接口名,我的項(xiàng)目名是dockerProject,docker是我寫的一個(gè)簡單的Controller

五、使用掛載目錄啟動(dòng)war包

掛載就是在服務(wù)器單獨(dú)創(chuàng)建一個(gè)目錄,然后映射到tomcat下的webapps的路徑,這樣tomcat就能讀取外部文件夾中的文件了

1、為了省事,我就直接使用上面創(chuàng)建的/warPackage文件夾

2、進(jìn)行掛載目錄,運(yùn)行tomcat容器,設(shè)置開機(jī)自啟:--restart=always

docker run -d -p 8088:8080 -v /warPackage/:/usr/local/tomcat/webapps --restart=always docker.io/tomcat

再通過進(jìn)入tomcat目錄,能看到已經(jīng)在webapps下了

3、瀏覽器訪問

到此這篇關(guān)于使用Docker部署war包項(xiàng)目的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Docker部署war包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:亳州 運(yùn)城 拉薩 澳門 烏海 衡陽 齊齊哈爾 嘉興

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用Docker部署war包項(xiàng)目的實(shí)現(xiàn)》,本文關(guān)鍵詞  使用,Docker,部署,war,包項(xiàng),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用Docker部署war包項(xiàng)目的實(shí)現(xiàn)》相關(guān)的同類信息!
  • 本頁收集關(guān)于使用Docker部署war包項(xiàng)目的實(shí)現(xiàn)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章