[docker从入门到入土]spring-boot项目打包docker镜像(maven方式)

本文档介绍将一个spring-boot项目打包成一个docker镜像,并进行运行测试.

本文档的打包方法来自spring官网spring-boot打包成docker镜像,网址:

http://spring.io/guides/gs/spring-boot-docker/

先看项目,项目结构如图

注意在项目根目录下创建了一个Dockerfile的文件,文件内容暂时不看.

DockerController的内容

直接访问返回hello world

pom文件,需要在build中加入

<build>

   <plugins>

      <plugin>

         <groupId>org.springframework.boot</groupId>

         <artifactId>spring-boot-maven-plugin</artifactId>

      </plugin>

      <plugin>

         <groupId>com.spotify</groupId>

         <artifactId>dockerfile-maven-plugin</artifactId>

         <version>1.3.6</version>

         <configuration>

            <repository>docker/${project.artifactId}</repository>

            <buildArgs>

               <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>

            </buildArgs>

         </configuration>

      </plugin>

   </plugins>

</build>


repository即打包后得到的镜像的名称

buildArgs是Dockerfile中引用到的参数


Dockerfile文件

FROM openjdk:8-jdk-alpine

VOLUME /tmp

ARG JAR_FILE

ADD ${JAR_FILE} app.jar

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]


ARG即pom文件中指定的参数

VOLUME 表示在镜像的目录中创建一个/tmp的文件目录,这一步是可选的,如果需要一些文件操作,建议通过这个参数指定文件目录供程序使用


首先打包jar文件,用的命令是mvn package,这一步可以借助编译器打包或者cmd命令行.

这里通过git命令行演示

进入项目目录

打包jar

最后


生成的jar文件在target目录下

打包成镜像,命令是 mvn install dockerfile:build

这一步可能打包错误,输出信息贴一下编译器中使用这个命令的结果

这里需要重新设置下docker-machine env

正确的输出信息中包括打包文件和生成镜像俩部分

使用docker images查看生成的镜像

运行这个镜像


访问测试


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容