首頁 > 軟體

使用jib外掛為Java應用構建映象的方法

2022-08-18 22:02:05

簡介

Java應用開發的容器化,需要製作docker映象。要是使用者本地沒安裝docker,可以使用jib製作出帶有映象的tar檔案。

Jib提供了四種使用方式:

jib構建工具主要包含了四個強大的功能。

  • build :提供了建立映象並推播到遠端倉庫功能。
  • buildTar :提供建立一個包含映象的tar檔案功能。
  • dockerBuild:提供建立docker映象到本地功能。
  • exportDocker:rContext提供建立dockerfile功能。

當編譯構建是在沒有docker環境的情況下構建,使用build命令和dockerBuild命令並不能製作出映象,只能使用buildTar命令製作出一個包含映象的tar檔案。

使用Maven外掛將Java應用構建為docker映象

想了解更多引數,閱讀官方檔案。https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin

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外掛構建映象內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com