基于jib-maven-plugin插件快速構建微服務docker鏡像的方法
一、說明
本文介紹基于 Maven 插件 jib-maven-plugin 實現(xiàn)快速構建 Spring Boot 程序鏡像,并推送到遠程倉庫中,且 「無需安裝」 Docker 環(huán)境 。
Jib 是 Google 開發(fā)的一個無需 Docker 守護進程,也無需深入掌握 Docker 最佳實踐的情況下,為 Java 應用程序構建 Docker 和 OCI 鏡像,以 Maven 和 Gradle 插件形式提供。
二、插件使用
下圖為插件的配置樣例,構建后的鏡像發(fā)布到阿里云倉庫中(免費):

阿里云倉庫配置以及用戶名密碼需要按照自己注冊的信息進行修改
注冊地址:https://cr.console.aliyun.com/
插件詳細的配置可查看:https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin
配置中增加了 execution 進行觸發(fā),當 Maven 執(zhí)行 package 命令時會自動構建并發(fā)布鏡像:

登錄阿里云容器鏡像服務,即可查看我們發(fā)布的鏡像:

三、總結
對于 Java 程序來說使用 jib-maven-plugin 插件來構建鏡像還是非常方便的。
與傳統(tǒng)的 dockerfile 構建鏡像的方式對比:
| 構建方式 | dockerfile | Jib |
|---|---|---|
| docker環(huán)境 | 需要 | 無需 |
| dockerfile文件 | 需要 | 無需 |
| 構建復雜度 | 較復雜 | 很方便 |
| 靈活度 | 高 | 相對較高 |
「PS」:怎樣通過 Jib 在構建鏡像的時候實現(xiàn) dockerfile 中的類似 RUN 之類的命令,如安裝一個程序運行時所需要的字體?
「答」:不支持,但是解決方式也很簡單,只需先基于 dockerfile 這種方式構建一個安裝好所需字體的基礎鏡像,然后在 Jib 中通過 from 依賴這個鏡像來構建微服務的鏡像即可。
四、樣例工程
集成 jib-maven-plugin 插件的樣例 Spring Boot 工程:
https://gitee.com/zlt2000_admin/zlt-dubbo-samples/tree/master/dubbo-nacos
https://github.com/zlt2000/zlt-dubbo-samples/tree/master/dubbo-nacos
到此這篇關于基于jib-maven-plugin快速構建微服務docker鏡像的方法的文章就介紹到這了,更多相關jib-maven-plugin構建微服務docker鏡像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- 微服務鏈路追蹤Spring Cloud Sleuth整合Zipkin解析
- Java微服務Filter過濾器集成Sentinel實現(xiàn)網(wǎng)關限流過程詳解
- Java微服務分布式調度Elastic-job環(huán)境搭建及配置
- Java微服務Nacos Config配置中心超詳細講解
- SpringCloud微服務中跨域配置的方法詳解
- Java Feign微服務接口調用方法詳細講解
- go微服務PolarisMesh源碼解析服務端啟動流程
- 微服務Spring Boot 整合 Redis 實現(xiàn)UV 數(shù)據(jù)統(tǒng)計的詳細過程
- go-micro微服務JWT跨域認證問題
- 詳解go-micro微服務consul配置及注冊中心
- go-micro微服務domain層開發(fā)示例詳解
- 微服務?Spring?Boot?整合?Redis?BitMap?實現(xiàn)?簽到與統(tǒng)計功能
- 一文帶你了解微服務架構中的"發(fā)件箱模式"
- go?micro微服務框架項目搭建方法
- go?micro微服務proto開發(fā)安裝及使用規(guī)則
- spring?Cloud微服務阿里開源TTL身份信息的線程間復用
- Mybatis與微服務注冊的詳細過程
- 簡單介紹一下什么是microservice微服務
相關文章
Docker容器內(nèi)不能聯(lián)網(wǎng)的6種解決方案
今天小編就為大家分享一篇關于Docker容器內(nèi)不能聯(lián)網(wǎng)的6種解決方案,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10
Gitlab-runner+Docker實現(xiàn)自動部署SpringBoot項目
這篇文章主要介紹了Gitlab-runner+Docker自動部署SpringBoot項目,我們的主要流程就是通過Gitlab管理代碼,然后利用Gitlab自帶的Gitlab?CI/CD功能與GitlabRunner進行注冊綁定,需要的朋友可以參考下2022-04-04
詳解docker compose搭建lnmpr環(huán)境實現(xiàn)
這篇文章主要為大家介紹了使用docker compose搭建lnmpr環(huán)境實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11
基于docker-compose構建Mongodb副本集的示例詳解
副本集是?MongoDB?高可用性和數(shù)據(jù)安全性策略的基礎,適用于對數(shù)據(jù)安全性和服務可用性有較高要求的場景,本文給大家介紹了如何基于docker-compose構建Mongodb副本集,文中通過代碼示例給大家介紹的非常詳細,需要的朋友可以參考下2024-01-01

