使用GoogleContainerTools容器化jib構(gòu)建docker鏡像
前言碎語
今天分享一個在容器化過程中非常重要的一個工具,java應(yīng)用docker鏡像build工具jib,這個工具是谷歌團隊研發(fā)開源的,特點是不依賴docker守護(hù)進(jìn)程,直白點說就是本地環(huán)境不安裝docker環(huán)境也可以打包docker鏡像。不用依賴維護(hù)Dockerfile,而且基于java打包插件可以輕松嵌入到j(luò)ava本身的構(gòu)建生命周期中(本文使用maven)??梢哉f是java容器化構(gòu)建利器。
插件配置
<plugin> <groupId>com.google.cloud.tools</groupId> <artifactId>jib-maven-plugin</artifactId> <version>0.9.11</version> <configuration> <from> <image>xxx.cn-xxx.xxx.com/keking/jdk:1.8</image> <auth> <username>xx@xxx-group</username> <password>xxx#xx</password> </auth> </from> <to> <image>xxx.cn-xxx.xxx.com/keking/kk-businesscard:v1.1</image> <auth> <username>xxx@xxx-group</username> <password>xxx#xxx</password> </auth> </to> <container> <mainClass>cn.keking.kkbusinesscard.Application</mainClass> </container> </configuration> </plugin>
配置詳解
from
:定義基礎(chǔ)鏡像,這里配置的私有倉庫的jre鏡像
auth
:倉庫認(rèn)證用戶和密碼配置
to
:目標(biāo)鏡像
container
:容器內(nèi)的相關(guān)配置,比如spring boot項目main方法,jvm參數(shù)等
插件命令使用
mvn compile jib:buildTar :這個命令將會構(gòu)建鏡像到磁盤上/targer/jib-image.tar,可以使用docker load --input target / jib-image.tar加載到docker中
mvn compile jib:dockerBuild : 構(gòu)建鏡像
mvn compile jib:build :構(gòu)建鏡像并推送到鏡像倉庫
mvn compile jib:exportDockerContext:如下圖導(dǎo)出docker 構(gòu)建所需的上下文到target/jib-docker-context目錄,可以使用docker build -t myimage my/docker/context/構(gòu)建
集成插件生命周期
在插件中添加如下,綁定到package階段就可以使用mvn package來構(gòu)建了
<executions> <execution> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> </executions>
文末結(jié)語
jib使用方便,支持maven ,gradle等build工具,是java容器化的利器。博主在實踐過程中也出了點小差錯,走了彎路,注意他的jib:build 和jib:dockerBuild的區(qū)別,前者會構(gòu)建并推動到倉庫,后者不會推送到倉庫
以上就是使用GoogleContainerTools容器化jib構(gòu)建docker鏡像的詳細(xì)內(nèi)容,更多關(guān)于GoogleContainerTools容器化jib構(gòu)建docker鏡像的資料請關(guān)注腳本之家其它相關(guān)文章!
- 以alpine作為基礎(chǔ)鏡像構(gòu)建Golang可執(zhí)行程序操作
- 基于Docker鏡像部署go項目的方法步驟
- goland把go項目打包進(jìn)docker鏡像的全過程記錄
- Docker 部署Go的兩種基礎(chǔ)鏡像的實現(xiàn)
- 構(gòu)建Golang應(yīng)用最小Docker鏡像的實現(xiàn)
- docker 基于golang鏡像構(gòu)建 ssh服務(wù)的方法
- 多階段構(gòu)建優(yōu)化Go?程序Docker鏡像
- 使用Docker鏡像構(gòu)建Go應(yīng)用的實現(xiàn)方法
- 詳解如何在golang鏡像中設(shè)置指定時區(qū)
- 輕松構(gòu)建Go應(yīng)用的Dockerfile
相關(guān)文章
Docker部署Microsoft Sql Server詳細(xì)步驟
大家好,本篇文章主要講的是Docker部署Microsoft Sql Server詳細(xì)步驟,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12Windows Docker部署Jenkins的實現(xiàn)步驟
Jenkins是一款開源的持續(xù)集成工具,廣泛用于項目開發(fā),能提供自動構(gòu)建測試部署等功能,本文主要介紹了Windows Docker部署Jenkins的實現(xiàn)步驟,感興趣的可以了解一下2024-03-03docker compose 服務(wù)啟動順序控制的方法
這篇文章主要介紹了docker compose 服務(wù)啟動順序控制的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09docker nginx ssl設(shè)置的實現(xiàn)步驟
本文主要介紹了docker nginx ssl設(shè)置的實現(xiàn)步驟,使用docker運行nginx,配置代理,和ssl設(shè)置,進(jìn)行https訪問,具有一定的參考價值,感興趣的可以了解一下2023-08-08docker compose部署主從復(fù)制的實現(xiàn)
本文記錄了通過 docker compose 搭建一主雙從的 Redis 服務(wù)。文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08Docker如何創(chuàng)建一個Jar服務(wù)容器
這篇文章主要介紹了Docker如何創(chuàng)建一個Jar服務(wù)容器問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08