激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

云服務(wù)器|WEB服務(wù)器|FTP服務(wù)器|郵件服務(wù)器|虛擬主機(jī)|服務(wù)器安全|DNS服務(wù)器|服務(wù)器知識(shí)|Nginx|IIS|Tomcat|

服務(wù)器之家 - 服務(wù)器技術(shù) - 服務(wù)器知識(shí) - dockerfile-maven-plugin使用指南小結(jié)

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

2021-11-17 16:54重口味碼農(nóng) 服務(wù)器知識(shí)

最近在將應(yīng)用部署到容器平臺(tái),需要在打包時(shí)生成docker鏡像,在網(wǎng)上首先搜到了docker-maven-plugin這個(gè)插件,本文就來(lái)介紹了dockerfile-maven-plugin使用小結(jié),感興趣的可以了解一下

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

pom配置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<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時(shí)不想用docker打包,就注釋掉這個(gè)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配置

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

在pluginGroups中增加一個(gè)com.spotify

?
1
2
3
<pluginGroups>
  <pluginGroup>com.spotify</pluginGroup>
</pluginGroups>

登錄情況

需要登錄

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
<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>

無(wú)需登錄

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

?
1
2
3
4
5
6
7
8
9
10
11
12
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)錯(cuò),可以再執(zhí)行一次docker login … ,這樣就成功了

maven多模塊情況配置

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

如下情況:

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

這種情況,我們可以分兩個(gè)步驟

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

?
1
mvn clean package -P test

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

?
1
mvn dockerfile:build dockerfile:push

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

jenkins

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

jenkins服務(wù)器安裝docker

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

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

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

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

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

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

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

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

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

原文鏈接:https://blog.csdn.net/acingdreamer/article/details/102959852

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 一色一情 | 国产三级国产精品国产普男人 | 一级做受毛片免费大片 | 国产亚洲精品久久久久久久久久 | a一级黄色毛片 | 久久久av亚洲男天堂 | 精品久久久久久久久久久久久久 | 久久久久久久久久亚洲精品 | 国产精品入口夜色视频大尺度 | 国产亚洲精品视频中文字幕 | 久久久久久久.comav | 亚洲网站在线 | 美国一级免费视频 | 鲁久久| 日日噜噜噜夜夜狠狠久久蜜桃 | 亚洲天堂在线电影 | 欧美成人午夜 | h久久 | 国产一级一国产一级毛片 | 久久影片| 亚洲第五色综合网 | 好吊色欧美一区二区三区四区 | 毛片免费在线观看 | 大号bbwassbigav头交 | 欧洲成人综合网 | 亚洲免费在线视频 | 黄色特级一级片 | 欧美精品国产综合久久 | 69性欧美高清影院 | 成人国产精品免费 | 毛片在哪看 | 麻豆视频在线观看免费网站 | 九九热精品免费视频 | 欧美性受xxx黑人xyx性爽 | h色网站在线观看 | 圆产精品久久久久久久久久久 | 91毛片网站| 成人精品久久 | 黄色羞羞 | 素人视频在线观看免费 | 国产亚洲精品久久久久久久 |