日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

使用jib-maven-plugin插件打包docker鏡像上傳到私有鏡像庫,為了賬戶安全,需要設置隱藏密碼,并且使用rancher來管理鏡像的啟動

作者:魯尼的小寶貝 更新時間: 2022-03-15 編程語言

項目前期準備

?在阿里云的容器鏡像服務中創建一個鏡像倉庫,用于部署

如果是使用的rancher,需要在鏡像庫中添加?阿里云鏡像的公網地址

這樣配置過后,在rancher里面才可以正常的拉取到上傳的docker鏡像。

創建好之后,在本地創建maven的環境

設置pom.xml

<plugin>
                <!--
                https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin#example
                -->
                <groupId>com.google.cloud.tools</groupId>
                <artifactId>jib-maven-plugin</artifactId>
                <version>2.4.0</version>
                <configuration>
                    <!-- 相當于 Dockerfile 中的 FROM -->
                    <from>
                        <image>java:8</image>
                    </from>
                    <to>
                        <!--構建鏡像名稱,這里我使用maven中定義的項目名稱-->
                        <image>${docker.registry.url}/${project.name}.jar</image>
<!--                        &lt;!&ndash;私有倉庫的賬號密碼&ndash;&gt;-->
<!--                        <auth>-->
<!--                            <username>${docker.registry.username}</username>-->
<!--                            <password>${docker.registry.password}</password>-->
<!--                        </auth>-->
                        <!--Docker 鏡像的 tag 這里使用maven定義的版本號-->
                        <tags>
                            <tag>${project.version}</tag>
                        </tags>
                    </to>
                    <container>
                        <!--jvm內存參數-->
                        <jvmFlags>
                            <jvmFlag>-Xms400m</jvmFlag>
                            <jvmFlag>-Xmx400m</jvmFlag>
                        </jvmFlags>
                        <mainClass>org.poem.PipeApi</mainClass>
                    </container>
                    <!--用沒配置安全認證的registry-->
                    <allowInsecureRegistries>true</allowInsecureRegistries>
                </configuration>
            </plugin>

?

配置maven settings.xml文件

獲取master密碼

使用以下命令可以得到一個master密碼,例如得到的加密密碼是:{VrVw6/Cg8FYHpfLj8oO/qRbM******************}

mvn --encrypt-master-password <password>

我們需要打開~/.m2/settings-security.xml這個文件(如果沒有就手動創建)
添加到標簽中,文件內容如下:

<settingsSecurity>
    <master>{VrVw6/Cg8FYHpfLj8oO/qRbM******************}</master>
</settingsSecurity>

如果沒有settings-security.xml,需要手動創建

獲取server加密密碼

執行mvn --encrypt-password <password>即可得到一個server密碼

mvn --encrypt-password <password>

把這個加密串添加到settings.xml中server節點的password中 例如得到的加密密碼是(2Db+TFdWDgQHlN7gBd1PAZHEC****************):

<server>
      <id>deploymentRepo</id>
      <username>admin</username>
      <password>{2Db+TFdWDgQHlN7gBd1PAZHEC****************}</password>
</server>

重點來了

由于使用的是jib-maven-plugin打包,那么當前的設置怎么和插件連接起來,在上面的pom.xml中,我把賬戶的密碼注釋掉了,相當于沒有在pom里面指定明確的用戶名和密碼。

使用以下的配置就可以實現和插件的互動

<pluginGroups>
        <!-- pluginGroup | Specifies a further group identifier to use for plugin
            lookup. <pluginGroup>com.your.plugins</pluginGroup> -->
        <pluginGroup>com.google.cloud.tools</pluginGroup>
</pluginGroups>
<!--對應容器倉庫權限的賬號密碼-->
<servers>
        <server>
            <id>registry.cn-hangzhou.aliyuncs.com</id>
            <username>655454321@qq.com</username>
            <password>{2Db+TFdWDgQHlN7gBd1PAZHEC****************}</password>
        </server>
</servers>

2Db+TFdWDgQHlN7gBd1PAZHEC**************** 就是server的加密密碼

好了,以上的準備已經完成

構建并提交鏡像

使用以下命令開始構建

mvn compile jib:build

?

最后打包上傳和上傳完成,在rancher可以直接使用到鏡像

在rancher啟動鏡像

進入rancher的操作界面

點擊進入應用,點擊添加服務

配置好端口的映射,內存的管理,cpu的管理,目錄的映射關系,點擊確定就可以啟動了

原文鏈接:https://blog.csdn.net/poem_2010/article/details/108249860

欄目分類
最近更新