博客
关于我
springboot与docker集成三步曲之项目打包部署
阅读量:156 次
发布时间:2019-02-26

本文共 2837 字,大约阅读时间需要 9 分钟。

Spring Boot项目打包到Docker镜像的完整指南

前文我们已经构建了JDK运行环境的镜像,现在主要任务是将Spring Boot项目打包到该镜像中,形成一个新的镜像springboot-docker。通过这个镜像,我们可以轻松启动容器,并通过端口映射访问我们的Spring Boot项目。


1. 构建Spring Boot项目,编写pom.xml文件

首先,我们需要编写一个pom.xml文件来定义项目的依赖和打包配置。以下是完整的pom.xml文件内容:

4.0.0
com.xxx
springboot-docker
0.0.1-SNAPSHOT
jar
springboot-docker
http://maven.apache.org
UTF-8
org.springframework.boot
spring-boot-starter-parent
2.0.4.RELEASE
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-maven-plugin
com.spotify
docker-maven-plugin
1.1.1
local/${project.artifactId}
src/main/docker
/
${project.build.directory}
${project.build.finalName}.jar

2. 编写启动类App.java

接下来,我们需要编写一个启动类App.java,这个类既充当Spring Boot的启动类,也同时作为一个简单的控制器。

package com.xxx.springbootwithdocker;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;@SpringBootApplication@RestControllerpublic class App {    public static void main(String[] args) {        SpringApplication.run(App.class, args);    }    @GetMapping("/")    public String index() {        return "{\"id\":\"1001\",\"content\":\"this is a docker\"}";    }}

3. 准备Dockerfile文件

src/main目录下新建一个docker文件夹,并添加一个Dockerfile文件。文件内容如下:

FROM local/centos7-jdk8VOLUME /tmpADD springboot-docker-0.0.1-SNAPSHOT.jar app.jarRUN sh -c 'touch /app.jar'ENV JAVA_OPTS=""ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar"]

4. 编译打包镜像

在Spring Boot项目的根目录下,执行以下命令:

mvn clean package docker:build

执行完毕后,会生成一个名为local/springboot-docker的镜像。


启动容器并进行端口映射

完成镜像构建后,我们可以通过以下命令启动一个容器并进行端口映射:

docker run -d -p 18080:8080 local/springboot-docker

启动成功后,你可以通过浏览器访问http://localhost:18080/来访问你的Spring Boot项目。


到此为止,我们已经完成了Spring Boot项目与Docker镜像的集成配置工作。整个过程主要包括以下几个步骤:

  • 编写pom.xml文件,配置项目依赖和打包选项。
  • 编写启动类App.java,实现基本的Web控制器功能。
  • 准备Dockerfile文件,定义镜像构建流程。
  • 使用Maven命令编译打包镜像。
  • 启动容器并进行端口映射。
  • 通过以上步骤,我们成功地将Spring Boot项目打包到Docker镜像中,并通过端口映射实现了对项目的访问。

    转载地址:http://erhy.baihongyu.com/

    你可能感兴趣的文章
    nodejs中express的使用
    查看>>
    Nodejs中的fs模块的使用
    查看>>
    NodeJS使用淘宝npm镜像站的各种姿势
    查看>>
    nodejs包管理工具对比:npm、Yarn、cnpm、npx
    查看>>
    NodeJs单元测试之 API性能测试
    查看>>
    nodejs图片转换字节保存
    查看>>
    nodejs在Liunx上的部署生产方式-PM2
    查看>>
    nodejs字符与字节之间的转换
    查看>>
    NodeJs学习笔记001--npm换源
    查看>>
    NodeJs学习笔记002--npm常用命令详解
    查看>>
    nodejs学习笔记一——nodejs安装
    查看>>
    NodeJS实现跨域的方法( 4种 )
    查看>>
    nodejs封装http请求
    查看>>
    nodejs常用组件
    查看>>
    nodejs开发公众号报错 40164,白名单配置找不到,竟然是这个原因
    查看>>
    Nodejs异步回调的处理方法总结
    查看>>
    NodeJS报错 Fatal error: ENOSPC: System limit for number of file watchers reached, watch ‘...path...‘
    查看>>
    Nodejs教程09:实现一个带接口请求的简单服务器
    查看>>
    nodejs服务端实现post请求
    查看>>
    nodejs框架,原理,组件,核心,跟npm和vue的关系
    查看>>