您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么使用jib插件為Java應用構建鏡像的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇怎么使用jib插件為Java應用構建鏡像文章都會有所收獲,下面我們一起來看看吧。
Java應用開發的容器化,需要制作docker鏡像。要是用戶本地沒安裝docker,可以使用jib制作出帶有鏡像的tar文件。
Jib提供了四種使用方式:
Maven插件:jib-maven-plugin
Gradle插件:jib-gradle-plugin
Java庫: Jlib Core
Jib CLI
jib構建工具主要包含了四個強大的功能。
build :提供了創建鏡像并推送到遠程倉庫功能。
buildTar :提供創建一個包含鏡像的tar文件功能。
dockerBuild:提供創建docker鏡像到本地功能。
exportDocker:rContext提供創建dockerfile功能。
當編譯構建是在沒有docker環境的情況下構建,使用build命令和dockerBuild命令并不能制作出鏡像,只能使用buildTar命令制作出一個包含鏡像的tar文件。
1.修改需要制作鏡像的項目代碼:找到pom文件聲明jib插件,
pom.xml文件中聲明Jib插件:
<!--使用jib插件--> <plugin> <groupId>com.google.cloud.tools</groupId> <artifactId>jib-maven-plugin</artifactId> <version>1.3.0</version> <configuration> <!--from節點用來設置鏡像的基礎鏡像,相當于Docerkfile中的FROM關鍵字--> <from> <!--使用openjdk官方鏡像,tag是8-jdk-stretch,表示鏡像的操作系統是debian9,裝好了jdk8--> <image>openjdk:8-jdk-stretch</image> </from> <to> <!--鏡像名稱和tag,使用了mvn內置變量${project.version},表示當前工程的version--> <image>lendea/hellojib:${project.version}</image> </to> <!--容器相關的屬性--> <container> <!--jvm內存參數--> <jvmFlags> <jvmFlag>-Xms256m</jvmFlag> <jvmFlag>-Xmx256m</jvmFlag> </jvmFlags> <!--要暴露的端口--> <ports> <port>8081</port> </ports> </container> </configuration> </plugin>
from標簽:設置基礎鏡像,相當于dockerfile中的FROM關鍵字,這里推薦使用SWR中的鏡像,構建時下載速度快并且穩定。
to標簽:設置制作出來的鏡像的鏡像名稱和tag。
container標簽:設置容器的相關屬性,jvm內存參數,端口等。
2.創建構建任務并執行
# -Dmaven.test.skip=true: 跳過單元測試 # -U: 每次構建檢查以來更新,可避免緩存中快照版本依賴不更新問題,但會犧牲部分性能 # -e -X: 打印調試信息,定位疑難構建問題時建議使用此參數構建 # -B: 以batch模式運行,可避免日志打印出現ArrayIndexOutOfBoundsException異常 mvn compile jib:buildTar -Dmaven.test.skip=true -U -e -X -B
在java項目的target目錄下,可以看到生成的tar鏡像。
3.使用tar鏡像
執行docker load -i xxx.tar
命令將tar文件的鏡像加載到本地鏡像倉庫,再使用docker run --rm -p 8081:8081 lendea/hellojib:0.0.1
等命令啟動容器來測試功能。
關于“怎么使用jib插件為Java應用構建鏡像”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“怎么使用jib插件為Java應用構建鏡像”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。