日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

使用JIB插件輕松實現(xiàn)Spring Boot應(yīng)用容器化

來源: 責(zé)編: 時間:2023-10-16 17:09:55 248觀看
導(dǎo)讀在微服務(wù)架構(gòu)中,構(gòu)建Docker鏡像是必不可少的。然而,構(gòu)建Docker鏡像并不是一項容易的任務(wù)。通常情況下,需要先了解Docker的知識,編寫Dockerfile,然后運行Docker守護程序來構(gòu)建和發(fā)布鏡像到注冊表。盡管有一些Maven和Gradle

在微服務(wù)架構(gòu)中,構(gòu)建Docker鏡像是必不可少的。然而,構(gòu)建Docker鏡像并不是一項容易的任務(wù)。通常情況下,需要先了解Docker的知識,編寫Dockerfile,然后運行Docker守護程序來構(gòu)建和發(fā)布鏡像到注冊表。fYP28資訊網(wǎng)——每日最新資訊28at.com

盡管有一些Maven和Gradle的Docker插件可供選擇,例如Spotify的Docker插件和fabric8的Docker插件,但在本文中,我們要給讀者介紹一種新的方法——Jib。fYP28資訊網(wǎng)——每日最新資訊28at.com

fYP28資訊網(wǎng)——每日最新資訊28at.com

Jib是一款由Google開發(fā)的開源容器鏡像構(gòu)建工具。Jib采用了獨特的構(gòu)建方式,使用Jib無需編寫Dockerfile或安裝Docker守護程序就可以輕松地使用Maven或Gradle構(gòu)建Java容器。接下來,我們將詳細介紹如何使用Jib來構(gòu)建和發(fā)布Docker鏡像。fYP28資訊網(wǎng)——每日最新資訊28at.com

1. 為什么使用Jib

下面的引用摘自Jib的官方頁面,清楚地說明了Jib的優(yōu)勢:fYP28資訊網(wǎng)——每日最新資訊28at.com

您無需維護Dockerfile,運行Docker守護程序,甚至不必擔心創(chuàng)建帶有所有依賴項的大型JAR文件。fYP28資訊網(wǎng)——每日最新資訊28at.com

2. 將Jib添加到應(yīng)用程序中

現(xiàn)在來看一個例子。構(gòu)建一個樣例的Spring Boot REST服務(wù),并將Jib依賴項添加到其中,以創(chuàng)建項目的Docker鏡像。稍后我們將看到如何將此鏡像推送到我們選擇的容器注冊表中。fYP28資訊網(wǎng)——每日最新資訊28at.com

這里有一個可工作的項目,現(xiàn)在可以使用Jib為其創(chuàng)建一個容器鏡像。Jib Maven插件將完成所有繁重的工作。將插件配置添加到pom.xml文件的<build><plugins>部分。fYP28資訊網(wǎng)——每日最新資訊28at.com

fYP28資訊網(wǎng)——每日最新資訊28at.com

JIB的Maven插件fYP28資訊網(wǎng)——每日最新資訊28at.com

唯一需要配置的是提供<to><image>,即Docker鏡像的名稱。現(xiàn)在可以使用該插件創(chuàng)建一個Docker鏡像,該鏡像將在本地的Docker守護程序上可用。fYP28資訊網(wǎng)——每日最新資訊28at.com

$ mvn clean compile jib:dockerBuild

fYP28資訊網(wǎng)——每日最新資訊28at.com

mvn jib構(gòu)建日志fYP28資訊網(wǎng)——每日最新資訊28at.com

從輸出中,可以看到Jib的神奇之處。它為應(yīng)用程序創(chuàng)建了三個獨立的圖像層。默認基本層是gcr.io/distroless/java:8。然后,我們得到一個用于依賴項、資源和類的單獨圖像層。這意味著對應(yīng)用程序源代碼的更改只需要重新構(gòu)建類層。Jib還自動發(fā)現(xiàn)了SpringBootJibApplication中的main方法。fYP28資訊網(wǎng)——每日最新資訊28at.com

如果我們檢查Docker,可以看到新鏡像可供使用。fYP28資訊網(wǎng)——每日最新資訊28at.com

$ docker images springboot-jib

fYP28資訊網(wǎng)——每日最新資訊28at.com

docker images結(jié)果fYP28資訊網(wǎng)——每日最新資訊28at.com

您會注意到CREATED顯示的是50 years ago,這似乎不正確。這是因為Jib默認創(chuàng)建可復(fù)現(xiàn)的構(gòu)建;因此,它不包含構(gòu)建時間戳。(關(guān)于可復(fù)現(xiàn)構(gòu)建的更多信息。)fYP28資訊網(wǎng)——每日最新資訊28at.com

讓我們運行以確保它正常工作。fYP28資訊網(wǎng)——每日最新資訊28at.com

$ docker run -p 8080:8080 --name springboot-jib springboot-jib

fYP28資訊網(wǎng)——每日最新資訊28at.com

應(yīng)用程序啟動日志fYP28資訊網(wǎng)——每日最新資訊28at.com

fYP28資訊網(wǎng)——每日最新資訊28at.com

現(xiàn)在可以使用push命令docker push ...將我們的鏡像推送到Docker Hub,但是Jib也可以為我們完成這個操作。當您嘗試對項目進行一些更改并重新構(gòu)建時,會發(fā)現(xiàn)構(gòu)建速度更快。fYP28資訊網(wǎng)——每日最新資訊28at.com

3. 鏡像注冊表的Jib配置

可以使用Jib在構(gòu)建過程中自動將鏡像推送到容器注冊表。因此,需要使用Docker倉庫路徑適當?shù)貥擞浳覀兊娜萜麋R像。作為最佳實踐,可以使用我們的Maven項目版本給鏡像打上標簽。fYP28資訊網(wǎng)——每日最新資訊28at.com

fYP28資訊網(wǎng)——每日最新資訊28at.com

更新Docker Hub注冊表路徑fYP28資訊網(wǎng)——每日最新資訊28at.com

Jib將需要您的容器注冊表憑據(jù)以便能夠為您推送鏡像。有幾種選擇,但這里將在構(gòu)建命令中內(nèi)聯(lián)添加我的憑據(jù)。fYP28資訊網(wǎng)——每日最新資訊28at.com

$ mvn jib:build -Djib.to.auth.username=prgnr173 -Djib.to.auth.password=

fYP28資訊網(wǎng)——每日最新資訊28at.com

推送Docker Hub鏡像fYP28資訊網(wǎng)——每日最新資訊28at.com

4. Jib插件的其他配置

Jib還提供了其他一些配置選項。例如,如果不想使用默認的distroless鏡像,可以添加一個基于alpine的FROM鏡像。fYP28資訊網(wǎng)——每日最新資訊28at.com

fYP28資訊網(wǎng)——每日最新資訊28at.com

使用alpine作為基礎(chǔ)鏡像fYP28資訊網(wǎng)——每日最新資訊28at.com

Jib還支持許多Java運行時配置:fYP28資訊網(wǎng)——每日最新資訊28at.com

  • jvmFlags用于指定要傳遞給JVM的啟動標志。
  • mainClass用于指示主類,默認情況下,Jib將嘗試自動推斷。
  • args用于指定傳遞給主方法的程序參數(shù)。

請確保查看Jib的文檔以查看所有可用的配置屬性。fYP28資訊網(wǎng)——每日最新資訊28at.com

5. 比較

下面是Google Cloud分享的Jib和Docker的構(gòu)建時間比較,Jib明顯是勝出者。fYP28資訊網(wǎng)——每日最新資訊28at.com

fYP28資訊網(wǎng)——每日最新資訊28at.com

構(gòu)建時間比較:Jib vs DockerfYP28資訊網(wǎng)——每日最新資訊28at.com

6. 總結(jié)

通過本文的學(xué)習(xí),讀者了解了如何使用Google的Jib構(gòu)建和發(fā)布Docker鏡像。可以訪問Jib的官方文檔,根據(jù)您的項目需求進行更好的定制。fYP28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-13615-0.html使用JIB插件輕松實現(xiàn)Spring Boot應(yīng)用容器化

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: ELK Stack生產(chǎn)實踐——pod日志采集(EFK方案)

下一篇: 向量化操作簡介和Pandas、Numpy示例

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 仙居县| 客服| 封开县| 龙游县| 施甸县| 建平县| 迁安市| 房山区| 靖安县| 云林县| 永定县| 北京市| 六盘水市| 蛟河市| 巫山县| 股票| 临邑县| 五指山市| 达拉特旗| 赣州市| 广州市| 潢川县| 广元市| 利津县| 万载县| 宜黄县| 抚顺市| 翁牛特旗| 句容市| 星座| 会同县| 沛县| 铁岭县| 右玉县| 阳高县| 格尔木市| 田阳县| 璧山县| 兰西县| 潜江市| 桦川县|