一步步教你把SpringBoot項目打包成Docker鏡像
把SpringBoot項目打包成Docker鏡像有兩種方案:
全自動化:先打好docker鏡像倉庫,然后在項目的maven配置中配置好倉庫的地址,在項目里配置好Dockerfile文件,這樣可以直接在idea中打包好后自動上傳到鏡像倉庫,然后去服務器上啟動這個鏡像就行了。
半自動化:半自動化又有兩種方案,一種是Dockerfile文件放在項目里面,一種是放在項目外面。
- 放在項目里面:springboot pom.xml中配置maven插件支持,打包時會使用項目里面的dockerfile,如果沒配置插件支持會報錯找不到dockerfile文件
- 放在項目外面:springboot還是打包成普通的jar,然后把這個jar上傳到服務器,同時在服務器創(chuàng)建一個Dockerfile文件,執(zhí)行docker build命令,把這個jar構(gòu)建成一個docker鏡像,然后通過鏡像執(zhí)行。
一般來說用半自動化比全自動化用的多,本文用的算是半自動化方式的第二種,總體來說有一下幾個步驟:
1. 構(gòu)建SpringBoot項目
編寫一個controller
進行本地測試
2. 打包應用
點擊package將項目進行打包
打包成功
cmd運行java -jar能夠運行成功
可以下載個Docker插件
3. 編寫dockerfile
在target里面創(chuàng)建Dockerfile文件,此時Dockerfile文件是高亮的
Dockerfile配置內(nèi)容(在Idea里面寫Dockerfile會有提示)
#發(fā)布到網(wǎng)上時只會把jar包和Dockerfile發(fā)布上去 COPY *.jar /app.jar #地址映射 CMD ["--server.port=8080"] #對外暴露端口 EXPOSE 8080 #執(zhí)行命令 ENTRYPOINT ["java","-jar","/app.jar"]
4. 構(gòu)建鏡像
將jar包和Dockerfile文件拿出來新建個文件夾放里面,按住shift鍵打開PowerShell
(注意:本人電腦上安裝的是Docker Desktop)
輸入命令構(gòu)建鏡像,firstdocker是鏡像名(最后的 . 表示 Dockerfile 文件在當前目錄下)
查看構(gòu)建好的鏡像(不清楚命令的可以先學一下基礎命令)
鏡像構(gòu)建成功后運行容器(第一個為服務器8080端口,第二個8080為docker容器端口)
可以看容器是否在運行和日志信息
訪問成功
5. 發(fā)布運行
可以將鏡像上傳到dockerhub,以后使用Docker之后,給別人交付的就是一個鏡像即可!
總結(jié)
到此這篇關于把SpringBoot項目打包成Docker鏡像的文章就介紹到這了,更多相關SpringBoot項目打包Docker鏡像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
詳解Spring Cache使用Redisson分布式鎖解決緩存擊穿問題
本文主要介紹了詳解Spring Cache使用Redisson分布式鎖解決緩存擊穿問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-04-04SpringBoot的配置文件application.yml及加載順序詳解
這篇文章主要介紹了SpringBoot的配置文件application.yml及加載順序,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07SpringBoot攔截器實現(xiàn)對404和500等錯誤的攔截
本篇文章主要介紹了SpringBoot攔截器實現(xiàn)對404和500等錯誤的攔截,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-04-04SSH框架網(wǎng)上商城項目第28戰(zhàn)之使用Ajax技術局部更新商品數(shù)量和總價
這篇文章主要為大家詳細介紹了SSH框架網(wǎng)上商城項目第28戰(zhàn)之使用Ajax技術局部更新商品數(shù)量和總價,感興趣的小伙伴們可以參考一下2016-06-06java配置變量的解釋,搬運他人優(yōu)質(zhì)評論(推薦)
這篇文章主要介紹了java配置變量,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-04-04Spring Cloud Gateway重試機制的實現(xiàn)
這篇文章主要介紹了Spring Cloud Gateway重試機制的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03springboot定時任務SchedulingConfigurer異步多線程實現(xiàn)方式
這篇文章主要介紹了springboot定時任務SchedulingConfigurer異步多線程實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04