基於jib-maven-plugin快速構建微服務docker映象

語言: CN / TW / HK

file

一、說明

本文介紹基於 Maven 外掛 jib-maven-plugin 實現快速構建 Spring Boot 程式映象,並推送到遠端倉庫中,且 無需安裝 Docker 環境 。

Jib 是 Google 開發的一個無需 Docker 守護程序,也無需深入掌握 Docker 最佳實踐的情況下,為 Java 應用程式構建 Docker 和 OCI 映象,以 Maven 和 Gradle 外掛形式提供。

 

二、外掛使用

下圖為外掛的配置樣例,構建後的映象釋出到阿里雲倉庫中(免費):

file

阿里雲倉庫配置以及使用者名稱密碼需要按照自己註冊的資訊進行修改

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

外掛詳細的配置可檢視: http://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin

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

file

登入阿里雲容器映象服務,即可檢視我們釋出的映象:

file

 

三、總結

對於 Java 程式來說使用 jib-maven-plugin 外掛來構建映象還是非常方便的。

與傳統的 dockerfile 構建映象的方式對比:

  • docker環境

    • Jib:無需
    • dockerfile:需要
  • dockerfile檔案

    • Jib:無需
    • dockerfile:需要
  • 構建複雜度

    • Jib:很方便
    • dockerfile:較複雜
  • 靈活度

    • Jib:相對較高
    • dockerfile:高

 

PS:怎樣通過 Jib 在構建映象的時候實現 dockerfile 中的類似 RUN 之類的命令,如安裝一個程式執行時所需要的字型?

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

 

四、樣例工程

整合 jib-maven-plugin 外掛的樣例 Spring Boot 工程:

 

掃碼關注有驚喜!

file