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