亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2020年06月18日 09:20:40   作者:iriniland  
這篇文章主要介紹了SpringBoot構建Docker鏡像的3種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

本文將介紹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

項目環(huán)境:

  • Java 11
  • Maven 3.6.3

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

也可以正常運行:

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

測試頁面:

http://localhost:8080/hello

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

1 Spring Boot maven 插件 的 build-image

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

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

只需要簡單的執(zhí)行:

mvn spring-boot:build-image

執(zhí)行完成后會看到成功提示信息:

運行容器測試:

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

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

2 jib-maven-plugin

Jib 是一個 Maven 和 Gradle 插件,用來創(chuàng)建 Docker 鏡像。

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

Jib 同樣也不需要寫 Dockerfile。

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

只需要執(zhí)行:

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 插件的執(zhí)行目標,dockerBuild 指定了 Jib 使用我們本地安裝的 Docker。

執(zhí)行完成后會看到成功提示信息:

啟動容器測試:

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

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

3 dockerfile-maven-plugin

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

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

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

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

運行容器:

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

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

小結

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

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

看起來最麻煩的就是 dockerfile-maven-plugin 這個插件了,需要寫 Dockerfile,還得添加配置,但是,實際上他是最好用的,因為前2個與網(wǎng)絡環(huán)境有關系(你懂的),即使你配置了 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鏡像內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java多線程編程中易混淆的3個關鍵字總結

    Java多線程編程中易混淆的3個關鍵字總結

    這篇文章主要介紹了Java多線程編程中易混淆的3個關鍵字總結,本文總結了、volatile、ThreadLocal、synchronized等3個關鍵字,對這幾個容易混淆概念的關鍵字分別做了講解,需要的朋友可以參考下
    2015-03-03
  • java實現(xiàn)將Webp轉為jpg格式方式

    java實現(xiàn)將Webp轉為jpg格式方式

    這篇文章主要介紹了java實現(xiàn)將Webp轉為jpg格式方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • SpringBoot超詳細講解集成Flink的部署與打包方法

    SpringBoot超詳細講解集成Flink的部署與打包方法

    昨天折騰了下SpringBoot與Flink集成,實際上集成特簡單,主要是部署打包的問題折騰了不少時間。想打出的包直接可以java -jar運行,同時也可以flink run運行,或者在flink的dashboard上上傳點擊啟動。結果是不行,但是使用不同的插件打包還是可以的
    2022-05-05
  • Java實現(xiàn)入?yún)?shù)據(jù)批量數(shù)據(jù)校驗詳解

    Java實現(xiàn)入?yún)?shù)據(jù)批量數(shù)據(jù)校驗詳解

    在業(yè)務處理中一般入?yún)⑹菃螚l數(shù)據(jù),這樣數(shù)據(jù)校驗比較容易,但是這種方法對于集合數(shù)據(jù)的校驗不適用,下面我們就來看看如何對入?yún)?shù)據(jù)進行批量數(shù)據(jù)校驗吧
    2024-02-02
  • java -jar啟動項目以及日志輸出的相關問題

    java -jar啟動項目以及日志輸出的相關問題

    這篇文章主要介紹了java -jar啟動項目以及日志輸出的相關問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 淺談一下Java的線程并發(fā)

    淺談一下Java的線程并發(fā)

    大家好,本篇文章主要講的是淺談一下Java的線程并發(fā),感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • Java方法的參數(shù)傳遞機制詳解

    Java方法的參數(shù)傳遞機制詳解

    這篇文章主要介紹了Java方法的參數(shù)傳遞機制詳解,對于Java初學者來說,剛學習Java的時候可能經(jīng)常會聽到調用方法時參數(shù)的值傳遞與引用傳遞,但是,實際上Java中方法的參數(shù)傳遞機制只有值傳遞,需要的朋友可以參考下
    2024-01-01
  • Springboot日期轉換器實現(xiàn)代碼及示例

    Springboot日期轉換器實現(xiàn)代碼及示例

    這篇文章主要介紹了Springboot日期轉換器實現(xiàn)代碼及示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • SpringMVC上傳文件的三種實現(xiàn)方式

    SpringMVC上傳文件的三種實現(xiàn)方式

    本篇文章主要介紹了SpringMVC上傳文件的三種實現(xiàn)方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • binarySearch在java的查找實例用法

    binarySearch在java的查找實例用法

    在本篇文章里小編給大家整理的是一篇關于binarySearch在java的查找實例用法,對此有興趣的朋友們可以學習參考下。
    2021-02-02

最新評論