基於jib-maven-plugin快速構建微服務docker映象
一、說明
本文介紹基於 Maven
外掛 jib-maven-plugin
實現快速構建 Spring Boot
程式映象,並推送到遠端倉庫中,且 無需安裝 Docker
環境 。
Jib 是 Google 開發的一個無需 Docker 守護程序,也無需深入掌握 Docker 最佳實踐的情況下,為 Java 應用程式構建 Docker 和 OCI 映象,以 Maven 和 Gradle 外掛形式提供。
二、外掛使用
下圖為外掛的配置樣例,構建後的映象釋出到阿里雲倉庫中(免費):
阿里雲倉庫配置以及使用者名稱密碼需要按照自己註冊的資訊進行修改
外掛詳細的配置可檢視: http://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin
配置中增加了 execution
進行觸發,當 Maven
執行 package
命令時會自動構建併發布映象:
登入阿里雲容器映象服務,即可檢視我們釋出的映象:
三、總結
對於 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
工程:
- http://gitee.com/zlt2000_admin/zlt-dubbo-samples/tree/master/dubbo-nacos
- http://github.com/zlt2000/zlt-dubbo-samples/tree/master/dubbo-nacos
掃碼關注有驚喜!
「其他文章」
- 如何基於Security框架相容多套使用者密碼加密方式
- 基於Kubernetes(k8s)部署Dubbo Nacos服務
- 基於jib-maven-plugin快速構建微服務docker映象
- 基於minikube快速搭建單節點環境
- 隱私計算FATE-多分類神經網路演算法測試
- 隱私計算FATE-離線預測
- 隱私計算FATE-模型訓練
- 隱私計算FATE-核心概念與單機部署
- Hyperledger Fabric 核心概念
- Hyperledger Fabric 2.x Java區塊鏈應用
- Hyperledger Fabric 2.x 自定義智慧合約
- Hyperledger Fabric 2.x 環境搭建
- Spring Boot 如何熱載入jar實現動態外掛?
- 如何基於Security實現OIDC單點登入?
- 第三方API對接如何設計介面認證?
- 免費正版 IntelliJ IDEA license 詳細指南
- ClickHouse效能優化?試試物化檢視
- 全量同步Elasticsearch方案之Canal
- Canal高可用架構部署
- 大資料量查詢容易OOM?試試MySQL流式查詢