91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Maven插件如何構建一個Docker鏡像

發布時間:2021-04-19 16:45:48 來源:億速云 閱讀:231 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關使用Maven插件如何構建一個Docker鏡像,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

過程步驟

環境

電腦系統是MacOS,在進行下面的步驟之前,先具備一下條件:

  • Docker Registry

  • Maven(3.5.0)

  • JDK(1.8.0_131)

  • Docker for Mac (17.09.0-ce-mac35)

Maven 和JDK 就不用過多多了,必須具有的。Docker Registry是私有的hub,mac上裝好docker之后,配置一下Docker Registry的地址,配置如下:

使用Maven插件如何構建一個Docker鏡像

因為docker默認需要私服做https支持,我這邊之前有個私服做了https支持,所以我這里就不需要配置了

pom 配置

pom文件中需要引入相應的插件。docker-maven-plugin有三款:spotify、fabric8io和bibryam。其中第一款最為流行,資料也多,所以毫不猶豫選擇第一款。

插件有兩種使用方式,一種是在直接在pom配置中指定baseImage和entryPoint。另一種適合于復雜的構建,使用dockerfile,只需要在配置中指定dockerfile的位置。前一種比較簡單,此處略過,主要講下第二種的配置

<plugin>
       <groupId>com.spotify</groupId>
       <artifactId>docker-maven-plugin</artifactId>
       <version>${maven.docker.version}</version>
       <!--插件綁定到phase-->
       <executions>
         <execution>
           <phase>install</phase>
           <goals>
             <goal>build</goal>
           </goals>
         </execution>
       </executions>
       <configuration>
       <!--配置變量,包括是否build、imageName、imageTag,非常靈活-->
         <skipDocker>${docker.skip.build}</skipDocker>
         <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
         <!--最后鏡像產生了兩個tag,版本和和最新的-->
         <imageTags>
           <imageTag>${project.version}</imageTag>
           <imageTag>latest</imageTag>
         </imageTags>
         <forceTags>true</forceTags>         
         <env>
           <TZ>Asia/Shanghai</TZ>
         </env>
         <!--時區配置-->
         <runs>
           <run>ln -snf /usr/share/zoneinfo/$TZ /etc/localtime</run>
           <run>echo $TZ > /etc/timezone</run>           
         </runs>
         <dockerDirectory>${project.basedir}</dockerDirectory>
         <resources>
           <resource>
             <targetPath>/</targetPath>
             <directory>${project.build.directory}</directory>
             <include>${project.build.finalName}.jar</include>
           </resource>
         </resources>
         <!--push到私有的hub-->
         <serverId>docker-registry</serverId>
       </configuration>

</plugin>

${maven.docker.version}${docker.skip.build}${docker.image.prefix}都是可配置的變量。${project.basedir}${project.build.directory}${project.build.finalName}${project.version}分別對應項目根目錄、構建目錄、打包后生成的結果名稱、項目版本號。

上面的pom插件配置,指定了dockerfile的位置和鏡像的命名規則。并將docker的build目標,綁定在install這個phase上。

使用Maven插件如何構建一個Docker鏡像

dockerfile

FROM java:8

COPY target/maven-docker-image-0.0.1-SNAPSHOT.jar /app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar" ,"/app.jar"]

setting.xml

在pom插件中,還有一個serverId的配置。這個配置是必要的,對于需要將image上傳到私有hub上,在如上配置之后,只需要加上-DpushImage即可實現。serverId是與maven的配置文件setting.xml相對應,setting.xml中增加的配置:

<server>
 <id>docker-registry</id>
 <username>用戶名</username>
 <password>密碼</password>
 <configuration>
  <email>郵箱</email>
 </configuration>
</server>

結果

使用Maven插件如何構建一個Docker鏡像

使用Maven插件如何構建一個Docker鏡像

上述就是小編為大家分享的使用Maven插件如何構建一個Docker鏡像了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绍兴县| 嘉祥县| 宝丰县| 津南区| 宁城县| 澳门| 松江区| 喜德县| 台江县| 芦山县| 同仁县| 淄博市| 牡丹江市| 皋兰县| 龙游县| 绿春县| 庄河市| 禄丰县| 盐城市| 深圳市| 曲松县| 黄陵县| 弥勒县| 吉隆县| 白水县| 行唐县| 湾仔区| 甘肃省| 昭苏县| 兴业县| 永顺县| 民权县| 安多县| 清丰县| 历史| 黄大仙区| 施秉县| 苍南县| 彭阳县| 泰安市| 普兰县|