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

    你可能感兴趣的文章
    OpenStack 搭建私有云主机实战(附OpenStack实验环境)
    查看>>
    OpenStack 综合服务详解
    查看>>
    OpenStack 网络服务Neutron详解
    查看>>
    Openstack 网络管理企业级实战
    查看>>
    OpenStack 计算服务Nova详解
    查看>>
    Openstack(两控制节点+四计算节点)-1
    查看>>
    openstack--memecache
    查看>>
    openstack-keystone安装权限报错问题
    查看>>
    openstack【Kilo】汇总:包括20英文文档、各个组件新增功能及Kilo版部署
    查看>>
    openstack下service和endpoint
    查看>>
    Openstack企业级云计算实战第二、三期培训即将开始
    查看>>
    OpenStack创建虚拟机实例实战
    查看>>
    OpenStack安装部署实战
    查看>>
    OpenStack实践系列⑨云硬盘服务Cinder
    查看>>
    OpenStack架构
    查看>>
    OpenStack版本升级与故障排查实战
    查看>>
    Openstack的HA解决方案【替换原有的dashboard】
    查看>>
    OpenStack的基本概念与架构详解
    查看>>
    Openstack的视频学习
    查看>>
    OpenStack自动化安装部署实战(附OpenStack实验环境)
    查看>>