java面试总结

[docker从入门到入土]spring-boot项目打包doc

2018-09-19  本文已影响219人  mega鲤鱼王

本文档介绍将一个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查看生成的镜像

运行这个镜像

访问测试

上一篇下一篇

猜你喜欢

热点阅读