springboot制作docker镜像
简介
构建docker镜像有三种方式,这三种方式都需要在执行命令的服务器上有docker的环境。
使用 spring-boot-maven-plugin的方式
此种方式是spring-boot自带插件的方式,构建的时候需要访问外网。此方式不太推荐,因为我本人执行过,那是相当的慢。
执行如下命令即可
mvn spring-boot:build-image
使用jib-maven-plugin的方式
执行如下命令即可
mvn compile com.google.cloud.tools:jib-maven-plugin:2.3.0:dockerBuild
使用Dockerfile的方式
pom文件中添加插件信息
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.13</version>
<executions>
<execution>
<id>default</id>
<goals>
<goal>build</goal>
<goal>push</goal>
</goals>
</execution>
</executions>
<configuration>
<repository>config-server</repository>
<tag>${project.version}</tag>
<buildArgs>
<JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin>
创建Dockerfile文件,并写入对应的内容
FROM java:8
ARG JAR_FILE
ADD target/${JAR_FILE} app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]
EXPOSE 8080
此处的ARG JAR_FILE
是一个变量,代表的是jar包文件,当然如果目录确定的话,可以在ADD
后面写上对应jar的名字也是可以的。
运行镜像
docker run -p 9090:8080 -t config-server:1.0-SNAPSHOT