基於jib-maven-plugin快速構建微服務docker鏡像

file

一、說明

本文介紹基於 Maven 插件 jib-maven-plugin 實現快速構建 Spring Boot 程序鏡像,並推送到遠程倉庫中,且 無需安裝 Docker 環境 。

Jib 是 Google 開發的一個無需 Docker 守護進程,也無需深入掌握 Docker 最佳實踐的情況下,爲 Java 應用程序構建 Docker 和 OCI 鏡像,以 Maven 和 Gradle 插件形式提供。

 

二、插件使用

下圖爲插件的配置樣例,構建後的鏡像發佈到阿里雲倉庫中(免費):

file

阿里雲倉庫配置以及用戶名密碼需要按照自己註冊的信息進行修改

註冊地址:https://cr.console.aliyun.com/

插件詳細的配置可查看:
https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin

配置中增加了 execution 進行觸發,當 Maven 執行 package 命令時會自動構建併發布鏡像:

file

登錄阿里雲容器鏡像服務,即可查看我們發佈的鏡像:

file

 

三、總結

對於 Java 程序來說使用 jib-maven-plugin 插件來構建鏡像還是非常方便的。

與傳統的 dockerfile 構建鏡像的方式對比:

構建方式 dockerfile Jib
docker環境 需要 無需
dockerfile文件 需要 無需
構建複雜度 較複雜 很方便
靈活度 相對較高

 

PS:怎樣通過 Jib 在構建鏡像的時候實現 dockerfile 中的類似 RUN 之類的命令,如安裝一個程序運行時所需要的字體?

:不支持,但是解決方式也很簡單,只需先基於 dockerfile 這種方式構建一個安裝好所需字體的基礎鏡像,然後在 Jib 中通過 from 依賴這個鏡像來構建微服務的鏡像即可。

 

四、樣例工程

集成 jib-maven-plugin 插件的樣例 Spring Boot 工程:

 

掃碼關注有驚喜!

file

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章