美文网首页
Springboot应用打包docker镜像

Springboot应用打包docker镜像

作者: braveheart075 | 来源:发表于2018-12-08 10:55 被阅读0次

废话不多说,直接开始步骤:

  • 创建springboot应用,这个我就不写了,大概有几种方法:

1、采用Spring.io
2、采用mvn archetype:generate.....方式

  • 创建好应用后,重点是pom文件,采用maven方式来打镜像,所以pom.xml中需要加入如下信息:
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>docker-maven-plugin</artifactId>
        <version>0.4.13</version>
        <configuration>
          <imageName>${project.artifactId}</imageName>
          <dockerDirectory>./</dockerDirectory>
        </configuration>
      </plugin>
  • 解释下dockerDirectory就是Dockerfile的路径地址。你即将要写Dockerfile文件了。

  • 开始写Dockerfile文件

FROM openjdk:8-jdk-alpine
VOLUME /temp
EXPOSE 8889
ARG JAR_FILE=target/webflux-sample-1.0-SNAPSHOT.jar
ADD ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","app.jar"]

解释下:
from 是镜像基础
volumn是定一个文件持久化目录
expose 暴露出8889端口,在启动的时候,只要直接-P就行了,这个是大写的P。
ARG是定义变量,下面会用到。
ADD开始复制文件到容器中,注意和COPY的区别,不需要写路径的。
ENTRYPOINT是容器启动的时候执行命令。

所以,很简单,一个标准的springboot的镜像Dockerfile就这么写好了。存放在项目的根目录下。


Screen Shot 2018-12-08 at 10.47.58 AM.png
  • 执行mvn clean package docker:build命令,可以直接看到执行的结果:


    Screen Shot 2018-12-08 at 10.50.19 AM.png

那么镜像基本就打好了在本地。通过命令来看下:


Screen Shot 2018-12-08 at 10.51.55 AM.png

看到第一个镜像了么,就是本地镜像了。

  • 好了,最后一步,启动镜像:


    Screen Shot 2018-12-08 at 10.54.01 AM.png

    启动成功了,通过本机浏览器访问:localhost:8889/demo即能看到“hello world!”

至于docker 的启动命令,大家自己去熟悉。

后面有时间再给大家分享下docker-compose和k8s相关。

相关文章

网友评论

      本文标题:Springboot应用打包docker镜像

      本文链接:https://www.haomeiwen.com/subject/mbzfhqtx.html