介紹
將spring boot(cloud)項目發布到docker環境作為鏡像,一般常用的一個是com.spotify的docker-maven-plugin這個maven插件,還有一個就是本文介紹的了,本文介紹的jib-maven-plugin是谷歌提供的,且配置較為簡單(相對的鏡像自定義能力較弱)。
使用
增加如下配置即可:
<build>
<finalName>${artifactId}</finalName>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<version>2.1.0</version>
<configuration>
<!--配置基本鏡像,這里可以修改為自己的鏡像,或精簡或修改,但是一定要在私有庫中有-->
<from>
<image>java:8</image>
</from>
<!--配置最終推送的地址,倉庫名,鏡像名-->
<to>
<tags>
<!--tag即鏡像的版本,一般是覆蓋latest並且新增一個當前版本號-->
<tag>latest</tag>
<tag>${version}</tag>
</tags>
<!--配置私有倉庫地址-->
<image>10.10.2.62:5000/v2/${project.build.finalName}</image>
</to>
<allowInsecureRegistries>true</allowInsecureRegistries>
<container>
<!--jvm內存參數,jvm啟動時的所有參數都可以在這里增加-->
<jvmFlags>
<jvmFlag>-Xms512m</jvmFlag>
<jvmFlag>-Xmx512m</jvmFlag>
<jvmFlag>-Duser.timezone=GMT+08</jvmFlag>
<jvmFlag>-Dfile.encoding=UTF8</jvmFlag>
</jvmFlags>
<!--要暴露的端口-->
<ports>
<port>8761</port>
</ports>
<!--修改鏡像默認時間,否則會導致鏡像內時區問題-->
<creationTime>USE_CURRENT_TIMESTAMP</creationTime>
</container>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
總結
這種方式比dockerFile簡單,但是也不靈活,適合簡單項目。