1. 程式人生 > >Spring Boot學習總結(10)——SpringBoot打包成Docker映象

Spring Boot學習總結(10)——SpringBoot打包成Docker映象

<build>
<!--定義jar檔名,可以自定義-->
<finalName>${project.name}-${project.version}</finalName> 
<plugins> 
<plugin> 
<groupId>org.springframework.boot</groupId> 
<artifactId>spring-boot-maven-plugin</artifactId>
<!--指定主類,建議手動指定-->
<configuration> 
<mainClass>io.pumelo.HelloApplication</mainClass> 
</configuration> 
<executions>
<!--打包依賴到當前服務中-->
<execution> 
<goals> 
<goal>repackage</goal> 
</goals> 
</execution> 
</executions> 
</plugin>
<!--docker打包外掛-->
<plugin> 
<groupId>com.spotify</groupId> 
<artifactId>docker-maven-plugin</artifactId> 
<version>0.4.11</version> 
<configuration>
<!--打包後的映象名稱,可以自定義-->
<imageName>${docker.image.prefix}/${project.artifactId}-${version}</imageName>
<!--基礎映象,包含oraclejdk8-->
<baseImage>frolvlad/alpine-oraclejdk8:slim</baseImage>
<!--java初始化引數,可以自定義-->
<entryPoint>[ "sh", "-c", "java -Xms128m -Xmx256m -Djava.security.egd=file:/dev/./urandom -jar /${project.build.finalName}.jar" ]</entryPoint> 
<resources>
<!--需要打包進映象的檔案,還可以加其他的檔案-->
<resource> 
<targetPath>/</targetPath> 
<directory>${project.build.directory}</directory> 
<include>${project.build.finalName}.jar</include> 
</resource>
</resources> 
</configuration> 
</plugin> 
</plugins>
</build>

在控制檯中輸入:mvn clean package -pl hello-service docker:build 即可打包出docker映象。如果你的專案不是多模組的,那麼去掉-pl 引數變為:mvn clean package docker:build ,多模組需要指定模組。