欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用jib插件為Java應(yīng)用構(gòu)建鏡像的方法

 更新時(shí)間:2022年08月18日 16:43:51   作者:EndeavourOne  
這篇文章主要介紹了使用jib插件為Java應(yīng)用構(gòu)建鏡像,要是用戶(hù)本地沒(méi)安裝docker,可以使用jib制作出帶有鏡像的tar文件,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下

簡(jiǎn)介

Java應(yīng)用開(kāi)發(fā)的容器化,需要制作docker鏡像。要是用戶(hù)本地沒(méi)安裝docker,可以使用jib制作出帶有鏡像的tar文件。

Jib提供了四種使用方式:

jib構(gòu)建工具主要包含了四個(gè)強(qiáng)大的功能。

  • build :提供了創(chuàng)建鏡像并推送到遠(yuǎn)程倉(cāng)庫(kù)功能。
  • buildTar :提供創(chuàng)建一個(gè)包含鏡像的tar文件功能。
  • dockerBuild:提供創(chuàng)建docker鏡像到本地功能。
  • exportDocker:rContext提供創(chuàng)建dockerfile功能。

當(dāng)編譯構(gòu)建是在沒(méi)有docker環(huán)境的情況下構(gòu)建,使用build命令和dockerBuild命令并不能制作出鏡像,只能使用buildTar命令制作出一個(gè)包含鏡像的tar文件。

使用Maven插件將Java應(yīng)用構(gòu)建為docker鏡像

想了解更多參數(shù),閱讀官方文檔。https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin

1.修改需要制作鏡像的項(xiàng)目代碼:找到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節(jié)點(diǎn)用來(lái)設(shè)置鏡像的基礎(chǔ)鏡像,相當(dāng)于Docerkfile中的FROM關(guān)鍵字-->
                    <from>
                        <!--使用openjdk官方鏡像,tag是8-jdk-stretch,表示鏡像的操作系統(tǒng)是debian9,裝好了jdk8-->
                        <image>openjdk:8-jdk-stretch</image>
                    </from>
                    <to>
                        <!--鏡像名稱(chēng)和tag,使用了mvn內(nèi)置變量${project.version},表示當(dāng)前工程的version-->
                        <image>lendea/hellojib:${project.version}</image>
                    </to>
                    <!--容器相關(guān)的屬性-->
                    <container>
                        <!--jvm內(nèi)存參數(shù)-->
                        <jvmFlags>
                            <jvmFlag>-Xms256m</jvmFlag>
                            <jvmFlag>-Xmx256m</jvmFlag>
                        </jvmFlags>
                        <!--要暴露的端口-->
                        <ports>
                            <port>8081</port>
                        </ports>
                    </container>
                </configuration>
            </plugin>
  • from標(biāo)簽:設(shè)置基礎(chǔ)鏡像,相當(dāng)于dockerfile中的FROM關(guān)鍵字,這里推薦使用SWR中的鏡像,構(gòu)建時(shí)下載速度快并且穩(wěn)定。
  • to標(biāo)簽:設(shè)置制作出來(lái)的鏡像的鏡像名稱(chēng)和tag。
  • container標(biāo)簽:設(shè)置容器的相關(guān)屬性,jvm內(nèi)存參數(shù),端口等。

2.創(chuàng)建構(gòu)建任務(wù)并執(zhí)行

# -Dmaven.test.skip=true: 跳過(guò)單元測(cè)試
# -U: 每次構(gòu)建檢查以來(lái)更新,可避免緩存中快照版本依賴(lài)不更新問(wèn)題,但會(huì)犧牲部分性能
# -e -X: 打印調(diào)試信息,定位疑難構(gòu)建問(wèn)題時(shí)建議使用此參數(shù)構(gòu)建
# -B: 以batch模式運(yùn)行,可避免日志打印出現(xiàn)ArrayIndexOutOfBoundsException異常

mvn compile jib:buildTar -Dmaven.test.skip=true -U -e -X -B

在java項(xiàng)目的target目錄下,可以看到生成的tar鏡像。

3.使用tar鏡像
執(zhí)行docker load -i xxx.tar 命令將tar文件的鏡像加載到本地鏡像倉(cāng)庫(kù),再使用docker run --rm -p 8081:8081 lendea/hellojib:0.0.1等命令啟動(dòng)容器來(lái)測(cè)試功能。

到此這篇關(guān)于使用jib插件為Java應(yīng)用構(gòu)建鏡像的文章就介紹到這了,更多相關(guān)jib插件構(gòu)建鏡像內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java程序命令行參數(shù)用法總結(jié)

    Java程序命令行參數(shù)用法總結(jié)

    這篇文章主要介紹了Java程序命令行參數(shù)用法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java實(shí)現(xiàn)非阻塞式服務(wù)器的示例代碼

    Java實(shí)現(xiàn)非阻塞式服務(wù)器的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Java實(shí)現(xiàn)一個(gè)簡(jiǎn)單的非阻塞式服務(wù)器,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,需要的可以參考一下
    2023-05-05
  • Spring Cloud中FeignClient實(shí)現(xiàn)文件上傳功能

    Spring Cloud中FeignClient實(shí)現(xiàn)文件上傳功能

    這篇文章主要為大家詳細(xì)介紹了Spring Cloud中FeignClient實(shí)現(xiàn)文件上傳功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • java可變參數(shù)(不定向參數(shù))的作用與實(shí)例

    java可變參數(shù)(不定向參數(shù))的作用與實(shí)例

    這篇文章主要給大家介紹了關(guān)于java可變參數(shù)(不定向參數(shù))的作用與實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • SpringBoot中利用AOP和攔截器實(shí)現(xiàn)自定義注解

    SpringBoot中利用AOP和攔截器實(shí)現(xiàn)自定義注解

    本文將通過(guò)攔截器+AOP實(shí)現(xiàn)自定義注解,在這里攔截器充當(dāng)在指定注解處要執(zhí)行的方法,aop負(fù)責(zé)將攔截器的方法和要注解生效的地方做一個(gè)織入,感興趣的可以嘗試一下
    2022-06-06
  • 一文教你如何判斷Java代碼中異步操作是否完成

    一文教你如何判斷Java代碼中異步操作是否完成

    在許多應(yīng)用程序中,我們經(jīng)常使用異步操作來(lái)提高性能和響應(yīng)度,這篇文章主要介紹了幾種常見(jiàn)的方法來(lái)判斷Java代碼中異步操作是否完成,希望對(duì)大家有所幫助
    2024-02-02
  • java中@JSONField和@JsonProperty注解的使用說(shuō)明及對(duì)比

    java中@JSONField和@JsonProperty注解的使用說(shuō)明及對(duì)比

    @JSONField與@JsonProperty隸屬兩個(gè)不同的包,前者是阿里系的fastjson包,后者是spring?boot官方使用的jackson包,本文主要介紹了java中@JSONField和@JsonProperty注解的使用說(shuō)明及對(duì)比,感興趣的可以了解一下
    2023-11-11
  • Java多線程ForkJoinPool實(shí)例詳解

    Java多線程ForkJoinPool實(shí)例詳解

    這篇文章主要介紹了Java多線程ForkJoinPool實(shí)例詳解,涉及forkjoin框架的相關(guān)內(nèi)容,需要的朋友可以參考下。
    2017-09-09
  • SpringBoot中的main方法注入service

    SpringBoot中的main方法注入service

    這篇文章主要介紹了SpringBoot中的main方法注入service操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java中使用MyBatis-Plus操作數(shù)據(jù)庫(kù)的實(shí)例

    Java中使用MyBatis-Plus操作數(shù)據(jù)庫(kù)的實(shí)例

    本文主要介紹了Java中使用MyBatis-Plus操作數(shù)據(jù)庫(kù)的實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02

最新評(píng)論