如何使用Docker部署Java項(xiàng)目
Docker是一種容器化技術(shù),可以幫助開(kāi)發(fā)者輕松打包應(yīng)用程序和依賴項(xiàng),并在任何地方運(yùn)行它們。在本文中,我們將介紹如何使用Docker部署Java項(xiàng)目。
1.第一步: 創(chuàng)建Dockerfile文件
Dockerfile是用于創(chuàng)建Docker對(duì)象的腳本,先創(chuàng)建Dockerfile文件,可以在idea的項(xiàng)目中創(chuàng)建,文件內(nèi)容模板如下:
FROM openjdk:11.0.11-jdk-slim WORKDIR /app COPY text.jar /app CMD ["java", "-jar", "text.jar"]
- :FROM 是java項(xiàng)目對(duì)應(yīng)的jdk版本
- :WORKDIR 指定構(gòu)建鏡像時(shí)使用的目錄
- :COPY 將jar包復(fù)制到容器中對(duì)應(yīng)的文件中 ,示例代碼jar包在當(dāng)前文件中
- :CMD 運(yùn)行Docker容器之后執(zhí)行的命令,這里是運(yùn)行jar包的命令,此命令關(guān)閉服務(wù)器連接的時(shí)候,項(xiàng)目也會(huì)停止運(yùn)行。這里拓展一下運(yùn)行jar包在關(guān)閉連接之后,項(xiàng)目依然運(yùn)行的命令: nohup java -jar xxx.jar & (nohup表示即使當(dāng)前連接關(guān)閉也執(zhí)行該命令, & 表示放到后臺(tái)運(yùn)行。
2. 將項(xiàng)目打包
我這里使用的是SpringBoot項(xiàng)目,在idea中可以直接操作打包
點(diǎn)擊maven,點(diǎn)擊Lifecycle,點(diǎn)擊package,項(xiàng)目打包成功之后會(huì)放在項(xiàng)目中的target文件中。
3.把準(zhǔn)備好的Dockerfile和jar包發(fā)送到服務(wù)器中的同一個(gè)文件夾中
準(zhǔn)備創(chuàng)建Docker鏡像
4. 創(chuàng)建Docker鏡像
一定要在當(dāng)前目錄中,輸入命令:
docker build -t xxx .
xxx表示鏡像名稱, 命令后面有個(gè) . 別忽略了
5. 創(chuàng)建Docker鏡像之后會(huì)出現(xiàn)加載的進(jìn)度條,如果沒(méi)有報(bào)錯(cuò),那么大概率是成功了
6. 輸入命令再次確認(rèn)Docker鏡像創(chuàng)建成功
docker images
發(fā)現(xiàn)已經(jīng)創(chuàng)建成功了、
7. 輸入命令創(chuàng)建 Docker容器
docker run -p 8080:8080 text
8. 輸入此命令后會(huì)出現(xiàn)springboot項(xiàng)目啟動(dòng)的那一幕
9.啟動(dòng)成功之后輸入命令
docker ps
再次確認(rèn)Docker容器有沒(méi)有運(yùn)行,一切操作完畢就可以訪問(wèn)服務(wù)器的swagger,如果訪問(wèn)成功,就說(shuō)明Docker部署Java項(xiàng)目成功。
結(jié)論
使用Docker可以輕松的打包和部署Java應(yīng)用程序,通過(guò)一個(gè)簡(jiǎn)單的創(chuàng)建Dockerfile和運(yùn)行容器,我們可以快速的將Java應(yīng)用程序部署在任何地方。
總結(jié)
到此這篇關(guān)于如何使用Docker部署Java項(xiàng)目的文章就介紹到這了,更多相關(guān)Docker部署Java項(xiàng)目?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mybatis + js 實(shí)現(xiàn)下拉列表二級(jí)聯(lián)動(dòng)效果
這篇文章給大家介紹基于Mybatis + js 實(shí)現(xiàn)下拉列表二級(jí)聯(lián)動(dòng)效果,實(shí)現(xiàn)代碼分為前端界面實(shí)現(xiàn)和后端處理方法,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-06-06Java調(diào)用騰訊云短信API接口的實(shí)現(xiàn)
這篇文章主要介紹了Java調(diào)用騰訊云短信API接口的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07springboot集成CAS實(shí)現(xiàn)單點(diǎn)登錄的示例代碼
這篇文章主要介紹了springboot集成CAS實(shí)現(xiàn)單點(diǎn)登錄的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06SpringBoot上傳文件到本服務(wù)器 目錄與jar包同級(jí)問(wèn)題
這篇文章主要介紹了SpringBoot上傳文件到本服務(wù)器 目錄與jar包同級(jí)問(wèn)題,需要的朋友可以參考下2018-11-11SpringBoot整合Ehcache3的實(shí)現(xiàn)步驟
本文主要介紹了SpringBoot整合Ehcache3的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01