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

dockerfile-maven-plugin使用指南小結(jié)

 更新時間:2021年09月28日 11:57:27   作者:重口味碼農(nóng)  
最近在將應(yīng)用部署到容器平臺,需要在打包時生成docker鏡像,在網(wǎng)上首先搜到了docker-maven-plugin這個插件,本文就來介紹了dockerfile-maven-plugin使用小結(jié),感興趣的可以了解一下

最近在將應(yīng)用部署到容器平臺,需要在打包時生成docker鏡像,在網(wǎng)上首先搜到了docker-maven-plugin這個插件,但使用起來很麻煩,在maven和dockfile都要做很多額外的配置。后來在官方Github看到作者推薦使用dockerfile-maven-plugin這個新的插件,于是替換成這個,但這個插件在網(wǎng)上的相關(guān)資料較少。在此記錄一哈

pom配置

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>

            <!-- Dockerfile maven plugin -->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>dockerfile-maven-plugin</artifactId>
                <version>1.4.10</version>
                <executions>
                    <!--<execution>-->
                        <!--<id>default</id>-->
                        <!--<goals>-->
                            <!--&lt;!&ndash;如果package時不想用docker打包,就注釋掉這個goal&ndash;&gt;-->
                            <!--<goal>build</goal>-->
                            <!--<goal>push</goal>-->
                        <!--</goals>-->
                    <!--</execution>-->
                </executions>
                <configuration>
                    <repository>docker-reg.****.com/feedback/${artifactId}-${profiles.active}</repository>
                    <tag>${project.version}</tag>
                    <buildArgs>
                        <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
                    </buildArgs>
                </configuration>
            </plugin>

setting.xml配置

這個文件在maven目錄下,可以 cd $M2_HOME/conf 進(jìn)入。

在pluginGroups中增加一個com.spotify

  <pluginGroups>
    <pluginGroup>com.spotify</pluginGroup>
  </pluginGroups>

登錄情況

需要登錄

關(guān)于如何驗(yàn)證登錄,坑比較多。如果你在habor設(shè)置你的倉庫為私有,那必須要登錄,按照官方配置就可以,如下。

 <plugin>
    <groupId>com.spotify</groupId>
    <artifactId>dockerfile-maven-plugin</artifactId>
    <version>${version}</version>
    <configuration>
        <username>repoUserName</username>
        <password>repoPassword</password>
        <repository>${docker.image.prefix}/${project.artifactId}</repository>
        <buildArgs>
            <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
        </buildArgs>
    </configuration>
</plugin>

無需登錄

但因?yàn)槲遗渲昧嗽趉8s自動從habor獲取鏡像,所以設(shè)置了公開,這種情況下無需登錄,但有時也會執(zhí)行失敗,此時你需要刪掉~/.docker/config.json中的這個網(wǎng)站的配置。

cat ~/.docker/config.json

{
    "auths": {
        "192.168.87.110:5000": {
            "auth": "YWRtaW46JKDtaW4xMjM="
        }(刪掉此處)
    },
    "HttpHeaders": {
        "User-Agent": "Docker-Client/18.09.0 (linux)"
    }
}

確認(rèn)這里為空后,如果還報(bào)錯,可以再執(zhí)行一次docker login … ,這樣就成功了

maven多模塊情況配置

在多模塊的情況下,打包插件一定要放置在Application子模塊中,如果放在root pom中會導(dǎo)致打包不成功。

如下情況:

  • -app
  • ​ -common
  • ​ -file
  • ​ -mail
  • ​ -application
  • ​ -pom.xml

這種情況,我們可以分兩個步驟

第一步先打包全部模塊,在根目錄下

mvn clean package -P test

第二步在要打包鏡像的子模塊中執(zhí)行deploy命令

mvn dockerfile:build dockerfile:push

這樣,就能成功將子模塊打包為鏡像并push。

jenkins

在本地測試完之后,要將這個流程弄到j(luò)enkins,做一些配置。

jenkins服務(wù)器安裝docker

此處不再贅述,maven的setting.xml等配置和本地一樣。

修改jenkins項(xiàng)目配置

此時,由于項(xiàng)目需要打包兩次(一次在根目錄打包,第二次在子目錄打包為鏡像),所以需要執(zhí)行兩次mvn命令,和之前不一樣,所以將第一次的執(zhí)行還是使用jenkins的Build模塊。

在這里插入圖片描述

第二次的執(zhí)行放置在post steps中通過命令在執(zhí)行

Mkb3FJ.md.png

cd 子模塊目錄
mvn clean package -P $env dockerfile:build dockerfile:push

這樣,就可以完成打包并制作鏡像的步驟了

到此這篇關(guān)于dockerfile-maven-plugin使用指南小結(jié)的文章就介紹到這了,更多相關(guān)dockerfile-maven-plugin使用 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用docker搭建gitlab詳解

    使用docker搭建gitlab詳解

    本篇文章主要介紹了使用docker搭建gitlab詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • 如何解決啟動docker desktop報(bào)The network name cannot be found問題

    如何解決啟動docker desktop報(bào)The network name ca

    在使用Docker Desktop時,可能遇到"The network name cannot be found"的錯誤,解決這個問題的方法是打開管理員權(quán)限的終端,執(zhí)行重啟Docker Desktop的相關(guān)命令,如果遇到虛擬化未開啟的提示,需要執(zhí)行“bcdedit /set hypervisorlaunchtype auto”
    2024-10-10
  • docker創(chuàng)建redis鏡像的方法

    docker創(chuàng)建redis鏡像的方法

    本篇文章主要介紹了docker創(chuàng)建redis鏡像的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • docke-cli的調(diào)試環(huán)境搭建過程

    docke-cli的調(diào)試環(huán)境搭建過程

    在搭建docker-cli的調(diào)試環(huán)境時,遇到很多坑,通過本文講解下搭建docke-cli的調(diào)試環(huán)境的詳細(xì)方法,需要的朋友可以參考下
    2022-11-11
  • 記 -bash: docker-compose: command not found 的問題解決方法

    記 -bash: docker-compose: command not&nbs

    這篇文章主要介紹了記 -bash: docker-compose: command not found 的問題解決方法,本文給大家介紹的非常詳細(xì)對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-01-01
  • Docker ps命令的具體使用

    Docker ps命令的具體使用

    docker ps?命令可以用來列出?Docker容器?相關(guān)信息,本文就來介紹一下Docker ps命令的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • Docker 數(shù)據(jù)管理Named volume詳解

    Docker 數(shù)據(jù)管理Named volume詳解

    這篇文章主要介紹了Docker 數(shù)據(jù)管理Named volume詳解的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Docker自定義安裝更改默認(rèn)安裝位置簡單方法

    Docker自定義安裝更改默認(rèn)安裝位置簡單方法

    安裝Docker的過程相對簡單,你只需要雙擊下載的安裝程序并按照提示進(jìn)行安裝即可。在安裝過程中,你可以選擇自定義安裝選項(xiàng),這篇文章主要給大家介紹了關(guān)于Docker自定義安裝更改默認(rèn)安裝位置的簡單方法,需要的朋友可以參考下
    2024-01-01
  • Docker不能綁定靜態(tài)的外網(wǎng)固定ip的問題及解決辦法

    Docker不能綁定靜態(tài)的外網(wǎng)固定ip的問題及解決辦法

    這篇文章主要介紹了Docker不能綁定靜態(tài)的外網(wǎng)固定ip的問題及解決辦法,需要的朋友可以參考下
    2017-01-01
  • 解決docker安裝完成報(bào):bridge-nf-call-iptables is disabled問題

    解決docker安裝完成報(bào):bridge-nf-call-iptables is disabled問題

    這篇文章主要介紹了解決docker安裝完成報(bào):bridge-nf-call-iptables is disabled問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11

最新評論