一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - dockerfile-maven-plugin使用指南小結

dockerfile-maven-plugin使用指南小結

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

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

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

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時不想用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 進入。

在pluginGroups中增加一個com.spotify

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

登錄情況

需要登錄

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

?
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>

無需登錄

但因為我配置了在k8s自動從habor獲取鏡像,所以設置了公開,這種情況下無需登錄,但有時也會執(zhí)行失敗,此時你需要刪掉~/.docker/config.json中的這個網(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)"
    }
}

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

maven多模塊情況配置

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

如下情況:

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

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

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

?
1
mvn clean package -P test

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

?
1
mvn dockerfile:build dockerfile:push

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

jenkins

在本地測試完之后,要將這個流程弄到jenkins,做一些配置。

jenkins服務器安裝docker

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

修改jenkins項目配置

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

dockerfile-maven-plugin使用指南小結

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

dockerfile-maven-plugin使用指南小結

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

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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品亚洲午夜一区二区三区 | 欧美人与物videos另类3d | 亚洲成人黄色网址 | 成人福利网站含羞草 | 四虎影音 | 短篇最污的乱淫伦小说全集 | 双性受合不垅腿攻np | 亚洲成人在线播放 | 精品91| 国产在线98福利播放视频免费 | 特级av毛片免费观看 | 久久这里有精品 | 99av麻豆 | 毛片www| 免费看片黄色 | 免费一级特黄特色大片∵黄 | 美女黄金大片视频免费看 | 国产成人亚洲精品一区二区在线看 | 国产麻豆剧果冻传媒观看免费视频 | 亚洲aⅴ男人的天堂在线观看 | 十八女下面流水不遮免费 | 国产精品久久久久这里只有精品 | 日本高清不卡一区久久精品 | 日日操日日 | chanelpreston欧美网站 | 好大好深受不了了快进来 | 丝瓜视频黄色在线观看 | 青青草国产精品久久碰 | 884hutv四虎永久7777 | 欧美一卡二卡科技有限公司 | 手机在线免费观看日本推理片 | a黄毛片 | ysl蜜桃色成人麻豆 youwu在线影院 | 男人捅女人漫画 | 深夜国产在线 | 国产va免费精品高清在线 | 国产视频91在线 | 99久久免费看国产精品 | 国产播放啪视频免费视频 | 邪恶肉肉全彩色无遮盖 | 欧美在线看片a免费观看 |