spring boot項(xiàng)目生成docker鏡像并完成容器部署的方法步驟
一、問(wèn)題產(chǎn)生
把spring boot項(xiàng)目生成的jar打成docker鏡像并生成docker容器完成部署是比較簡(jiǎn)單方便的部署方式,而且部署過(guò)程很少會(huì)出錯(cuò)。
二、部署步驟
1.利用maven或者gradle完成打包工作,打成jar包的形式。
2.在項(xiàng)目中的任意位置創(chuàng)建Dockerfile文件,本人的文件如下:
FROM java:8 VOLUME /tmp ADD front-1.0-SNAPSHOT.jar front.jar RUN bash -c 'touch /front.jar' ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/front.jar"]
FROM java:8是指含有jdk1.8的鏡像
VOLUE /tmp /tmp目錄并持久化到Docker數(shù)據(jù)文件夾,因?yàn)镾pring Boot使用的內(nèi)嵌Tomcat容器默認(rèn)使用/tmp作為工作目錄
ADD front-1.0-SNAPSHOT.jar front.jar
添加自己的項(xiàng)目到到front.jar中,注意:這里的包名要和pom文件中的包名一致。
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/front.jar"]
ENTRYPOINT是指容器運(yùn)行后默認(rèn)執(zhí)行的命令。
3.上傳自己的項(xiàng)目和Dockerfile文件到虛擬機(jī),可以放在同一個(gè)目錄下面

4.創(chuàng)建自己的鏡像
docker build -t front:1.0-SNAPSHOT .
注意后面是有個(gè)點(diǎn)的。

顯示創(chuàng)建成功,查看下鏡像。

現(xiàn)在鏡像就創(chuàng)建成功了。
5.生成docker容器
docker run -d -p 8080:8080 --name front front:1.0-SNAPSHOT
-d:后臺(tái)運(yùn)行容器
-p 8080:8080 主機(jī)的端口和docker容器中的端口做映射
front 自定義的容器名稱
front:1.0-SNAPSHOT鏡像名稱和對(duì)應(yīng)版本,如果沒(méi)有指定版本,默認(rèn)會(huì)去尋找lastest版本。
![]()
生成了容器的id,docker ps -a查看是否存在front容器。

是生成了容器,接下來(lái)啟動(dòng)就可以了。
到此這篇關(guān)于spring boot項(xiàng)目生成docker鏡像并完成容器部署的方法步驟的文章就介紹到這了,更多相關(guān)spring boot生成docker鏡像內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何在Java中使用支付寶SDK來(lái)獲取用戶的OpenID
在支付寶開(kāi)放平臺(tái)中,獲取用戶的OpenID通常是在用戶授權(quán)后通過(guò)支付寶的OAuth 2.0授權(quán)流程實(shí)現(xiàn)的,以下是一個(gè)基本的步驟說(shuō)明,以及如何在Java中使用支付寶SDK來(lái)獲取用戶的OpenID2024-08-08
Spring,hibernate,struts經(jīng)典面試筆試題(含答案)
這篇文章主要介紹了Spring,hibernate,struts經(jīng)典面試筆試題極其參考含答案,涉及SSH基本概念,原理與使用技巧,需要的朋友可以參考下2016-03-03
java實(shí)現(xiàn)飛機(jī)大戰(zhàn)案例詳解
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)飛機(jī)大戰(zhàn)案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-03-03
SpringBoot集成Redis使用Cache緩存的實(shí)現(xiàn)方法
SpringBoot通過(guò)配置RedisConfig類(lèi)和使用Cache注解可以輕松集成Redis實(shí)現(xiàn)緩存,主要包括@EnableCaching開(kāi)啟緩存,自定義key生成器,改變序列化規(guī)則,以及配置RedisCacheManager,本文為使用SpringBoot與Redis處理緩存提供了詳實(shí)的指導(dǎo)和示例,感興趣的朋友一起看看吧2024-10-10
實(shí)踐講解SpringBoot自定義初始化Bean+HashMap優(yōu)化策略模式
本篇講解了SpringBoot自定義初始化Bean+HashMap優(yōu)化策略模式,通過(guò)實(shí)踐的方式更通俗易懂,對(duì)此不了解的同學(xué)跟著小編往下看吧2021-09-09
Spring?main方法中如何調(diào)用Dao層和Service層的方法
這篇文章主要介紹了Spring?main方法中調(diào)用Dao層和Service層的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
SpringBoot實(shí)現(xiàn)文件下載功能的方式分享
這篇文章主要為大家詳細(xì)介紹了SpringBoot這哪個(gè)實(shí)現(xiàn)文件下載功能的幾種方式,文中的實(shí)現(xiàn)方法簡(jiǎn)介易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-03-03

