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:8VOLUME /tmpADD front-1.0-SNAPSHOT.jar front.jarRUN 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)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 詳解JSP 內(nèi)置對(duì)象request常見(jiàn)用法2. ASP.NET MVC實(shí)現(xiàn)下拉框多選3. ASP.NET MVC增加一條記錄同時(shí)添加N條集合屬性所對(duì)應(yīng)的個(gè)體4. .NET Framework各版本(.NET2.0 3.0 3.5 4.0)區(qū)別5. 解決request.getParameter取值后的if判斷為NULL的問(wèn)題6. JSP中param動(dòng)作的實(shí)例詳解7. ASP.NET MVC實(shí)現(xiàn)本地化和全球化8. .Net反向代理組件Yarp用法詳解9. JS中的常見(jiàn)數(shù)組遍歷案例詳解(forEach, map, filter, sort, reduce, every)10. .NET中的MassTransit分布式應(yīng)用框架詳解
