如何使用Docker部署Java項目
Docker是一種容器化技術(shù),可以幫助開發(fā)者輕松打包應(yīng)用程序和依賴項,并在任何地方運(yùn)行它們。在本文中,我們將介紹如何使用Docker部署Java項目。
1.第一步: 創(chuàng)建Dockerfile文件
Dockerfile是用于創(chuàng)建Docker對象的腳本,先創(chuàng)建Dockerfile文件,可以在idea的項目中創(chuàng)建,文件內(nèi)容模板如下:
FROM openjdk:11.0.11-jdk-slim WORKDIR /app COPY text.jar /app CMD ["java", "-jar", "text.jar"]
- :FROM 是java項目對應(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ù)器連接的時候,項目也會停止運(yùn)行。這里拓展一下運(yùn)行jar包在關(guān)閉連接之后,項目依然運(yùn)行的命令: nohup java -jar xxx.jar & (nohup表示即使當(dāng)前連接關(guān)閉也執(zhí)行該命令, & 表示放到后臺運(yùn)行。
2. 將項目打包
我這里使用的是SpringBoot項目,在idea中可以直接操作打包

點(diǎn)擊maven,點(diǎn)擊Lifecycle,點(diǎn)擊package,項目打包成功之后會放在項目中的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項目啟動的那一幕
9.啟動成功之后輸入命令
docker ps
再次確認(rèn)Docker容器有沒有運(yùn)行,一切操作完畢就可以訪問服務(wù)器的swagger,如果訪問成功,就說明Docker部署Java項目成功。
結(jié)論
使用Docker可以輕松的打包和部署Java應(yīng)用程序,通過一個簡單的創(chuàng)建Dockerfile和運(yùn)行容器,我們可以快速的將Java應(yīng)用程序部署在任何地方。
總結(jié)
到此這篇關(guān)于如何使用Docker部署Java項目的文章就介紹到這了,更多相關(guān)Docker部署Java項目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot整合easy-es實(shí)現(xiàn)數(shù)據(jù)的增刪改查的示例代碼
Easy-Es是一款基于ElasticSearch官方提供的RestHighLevelClient打造的低碼開發(fā)框架,本文主要介紹了springboot整合easy-es實(shí)現(xiàn)數(shù)據(jù)的增刪改查的示例代碼,具有一定的參考價值,感興趣的可以了解一下2024-03-03
idea提交代碼報錯SVN:E155004:'XXX' is already&n
該文章主要user總結(jié)了在使用SVN進(jìn)行代碼提交時出現(xiàn)“is alreadyalready鎖定”錯誤時并通過一系列命令(如如決了問題is最后成功提交代碼2026-04-04
基于Spring開發(fā)之自定義標(biāo)簽及其解析
Spring框架是現(xiàn)在Java最流行的開源框架之一,需要實(shí)現(xiàn)一些自定義的標(biāo)簽,主要是方便使用我們框架的人能夠快速、簡單進(jìn)行配置,有興趣的可以了解一下。2017-04-04
Mybatis實(shí)現(xiàn)指定sql返回值類型
文章介紹了Mybatis中處理不同返回值情況的方法,包括返回值只有一個和有多個的情況,對于返回值只有一個,可以直接返回該值;對于多個返回值,可以使用POJO對象、List集合或Map集合進(jìn)行封裝,每種方法都有其適用的場景2025-12-12

