国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

詳解SpringBoot構建Docker鏡像的3種方式

瀏覽:4日期:2023-05-10 15:20:47

本文將介紹3種技術,通過 Maven 把 SpringBoot 應用構建成 Docker 鏡像。

(1)使用 spring-boot-maven-plugin 內置的 build-image.

(2)使用 Google 的 jib-maven-plugin。

(3)使用 dockerfle-maven-plugin。

Spring Boot 應用

為了方便實踐,需要一個 Spring Boot 項目。

Demo 項目地址:

https://github.com/davelms/medium-articles/tree/master/spring-maven-docker

項目環境:

Java 11 Maven 3.6.3

使用 mvn package 可以正常構建 jar 包。

也可以正常運行:

java -jar target/demo-application-0.0.1-SNAPSHOT.jar

測試頁面:

http://localhost:8080/hello

詳解SpringBoot構建Docker鏡像的3種方式

Demo 項目 OK 了,下面就開始實踐構建鏡像的3個方法。

1 Spring Boot maven 插件 的 build-image

Spring Boot 預裝了自己的用于構建 Docker 鏡像的插件,我們無需進行任何更改,因為它就在 pom.xml 中的 spring-boot-starter-parent。

你不需要寫 Dockerfile,也不用操別的心,plugin 都幫你做了,例如 Spring 建議的安全、內存、性能等問題。

只需要簡單的執行:

mvn spring-boot:build-image

執行完成后會看到成功提示信息:

詳解SpringBoot構建Docker鏡像的3種方式

運行容器測試:

docker run -p 9090:8080 -t demo-application:0.0.1-SNAPSHOT

注意:這里映射的本機端口是9090。

詳解SpringBoot構建Docker鏡像的3種方式

2 jib-maven-plugin

Jib 是一個 Maven 和 Gradle 插件,用來創建 Docker 鏡像。

這個插件有一個非常明顯的特點:不需要本地安裝 Docker,這對持續集成是非常方便的,Jib 可以直接推送到指定的 Docker 倉庫。

Jib 同樣也不需要寫 Dockerfile。

使用起來也非常方便,不需要改代碼,也可以不改動 pom.xml。

只需要執行:

mvn compile com.google.cloud.tools:jib-maven-plugin:2.3.0:dockerBuild

mvn compile

是我們很熟悉的 maven 編譯指令。

com.google.cloud.tools:jib-maven-plugin:2.3.0

指定了使用 Jib 插件

dockerBuild

是 Jib 插件的執行目標,dockerBuild 指定了 Jib 使用我們本地安裝的 Docker。

執行完成后會看到成功提示信息:

詳解SpringBoot構建Docker鏡像的3種方式

啟動容器測試:

docker run -p 9091:8080 -t demo-application:0.0.1-SNAPSHOT

注意:這里映射的本機端口是9091。

詳解SpringBoot構建Docker鏡像的3種方式

3 dockerfile-maven-plugin

這個插件就需要我們寫 Dockerfile 了,Domo 項目中已經準備好了。

Dockerfile 需要放在項目的根目錄下,和 pom.xml 在一起。

詳解SpringBoot構建Docker鏡像的3種方式

然后,需要在 pom.xml 中添加一些配置,以便指定倉庫、tag 標簽,還有上面 Dockerfile 中定義的 JAR_FILE。

詳解SpringBoot構建Docker鏡像的3種方式

執行 mvn package 時就會自動構建鏡像了,執行完成后就會看到提示信息:

詳解SpringBoot構建Docker鏡像的3種方式

運行容器:

docker run -p 9092:8080 -t demo-application:0.0.1-SNAPSHOT

注意:映射的本機端口是 9092。

詳解SpringBoot構建Docker鏡像的3種方式

小結

詳解SpringBoot構建Docker鏡像的3種方式

這3個里面最方便的是 SpringBoot 原生的方式,什么都不需要自己做,直接就能用。

最有特點的是 Jib,不需要你本地安裝 Docker,可以直接推送到指定的倉庫,而且使用起來也很簡單。

看起來最麻煩的就是 dockerfile-maven-plugin 這個插件了,需要寫 Dockerfile,還得添加配置,但是,實際上他是最好用的,因為前2個與網絡環境有關系(你懂的),即使你配置了 Docker 鏡像,也會報錯,你可以試一下。

參考資料:

jib-maven-plugin

https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin

dockerfile-maven plugin

https://github.com/spotify/dockerfile-maven

本文翻譯整理自:

https://medium.com/swlh/build-a-docker-image-using-maven-and-spring-boot-58147045a400

到此這篇關于SpringBoot構建Docker鏡像的3種方式的文章就介紹到這了,更多相關SpringBoot構建Docker鏡像內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 国产精选经典三级小泽玛利亚 | 日韩亚洲欧美一区噜噜噜 | 国产成综合 | 99久久九九| 一级片aaaa | 最新国产毛片 | 亚洲wwww| 亚洲不卡在线观看 | 欧美一区2区| 久久九九国产精品怡红院 | 精品国产日韩亚洲一区在线 | 亚洲美色综合天天久久综合精品 | 久久成人精品免费播放 | 波多野结衣在线播放 | 欧美另类亚洲一区二区 | 亚洲一区二区三区精品影院 | 一级在线观看视频 | 河边性xxxxfreexxxxx | 欧美日韩免费播放一区二区 | 影院亚洲 | 亚洲精美视频 | 日韩一级精品视频在线观看 | 五月激情丁香婷婷综合第九 | 乱人伦中文视频在线观看免费 | 国产成人精品aaaa视频一区 | 91精品日本久久久久久牛牛 | 毛片免费观看成人 | 点击进入不卡毛片免费观看 | 国产高清在线精品一区二区三区 | 97视频免费上传播放 | 暖暖视频日韩欧美在线观看 | 亚洲黄色软件 | 亚洲精品www久久久久久久软件 | 日本三级全黄三级a | 三级国产精品一区二区 | 女人把腿劈开让男人桶的网站 | 免费又黄又爽又猛大片午夜 | 色在线看 | 成 人 黄 色 免费网 | 国产老鸭窝毛片一区二区 | 九九精品在线视频 |