Spring Boot學習總結(10)——SpringBoot打包成Docker映象
阿新 • • 發佈:2018-12-23
<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>
<!--定義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 ,多模組需要指定模組。