博客
关于我
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/

    你可能感兴趣的文章
    Nginx反向代理与正向代理配置
    查看>>
    Nginx反向代理是什么意思?如何配置Nginx反向代理?
    查看>>
    nginx反向代理解决跨域问题,使本地调试更方便
    查看>>
    nginx启动脚本
    查看>>
    Nginx在Windows下载安装启动与配置前后端请求代理
    查看>>
    Nginx多域名,多证书,多服务配置,实用版
    查看>>
    nginx开机启动脚本
    查看>>
    nginx异常:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf
    查看>>
    nginx总结及使用Docker创建nginx教程
    查看>>
    nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:128
    查看>>
    nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in usrlocalnginxconfnginx.conf128
    查看>>
    nginx日志分割并定期删除
    查看>>
    Nginx日志分析系统---ElasticStack(ELK)工作笔记001
    查看>>
    Nginx映射本地json文件,配置解决浏览器跨域问题,提供前端get请求模拟数据
    查看>>
    nginx最最最详细教程来了
    查看>>
    Nginx服务器---正向代理
    查看>>
    Nginx服务器上安装SSL证书
    查看>>
    Nginx服务器的安装
    查看>>
    Nginx模块 ngx_http_limit_conn_module 限制连接数
    查看>>
    nginx添加模块与https支持
    查看>>