Spring Boot应用Docker化的步骤详解

2025-05-29 0 75

概述

spring boot简化了spring应用的开发过程,遵循约定优先配置的原则提供了各类开箱即用(out-of-the-box)的框架配置。另一方面,spring boot还具备将代码直接构建为可执行jar包的能力,这个jar包是一个可以独立运行的部署单元。基于以上特性,现在普遍认为spring boot提供了一种快速构造微服务(micro-service)的能力。

当下web服务端开发中最火的名词中绝对有微服务的一席之地,其也成为当下互联网后端服务架构演进历程中最闪亮的技术之一。微服务的基本思想在于考虑围绕着业务领域组件来创建应用,这些应用可独立地进行开发、管理和加速。在分散的组件中使用微服务云架构和平台,使部署、管理和服务功能交付变得更加简单。既然服务被分割和微小化了,我们很容易想到如果将其和docker结合,让docker承载着一个个的微服务运行,如此一来将会让服务间耦合度降低,部署简洁,同时系统的架构也更加清晰,便于长期演进,基于此想法有了这篇文章的入门实践!

创建基于maven的spring bt项目

pom.xml中加依赖:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16
<parent>

<groupid>org.springframework.boot</groupid>

<artifactid>spring-boot-starter-parent</artifactid>

<version>2.0.0.release</version>

</parent>

<dependencies>

<dependency>

<groupid>org.springframework.boot</groupid>

<artifactid>spring-boot-starter-web</artifactid>

</dependency>

<dependency>

<groupid>org.springframework.boot</groupid>

<artifactid>spring-boot-starter-test</artifactid>

<scope>test</scope>

</dependency>

</dependencies>

我们只需要在启动类中添加一个简单的restful接口就行了,为了后续浏览器能验证一下,访问/hello接口,能向浏览器返回一个 hello docker!的问好!

?

1

2

3

4

5

6

7

8

9

10

11
@restcontroller

public class dockerdemospringapplication {

public static void main(string[] args) {

springapplication.run(dockerdemospringapplication.class, args);

}

@requestmapping("/hello")

public string hello(){

return "hello! docker!”;

}

}

编写dockerfile

我们在spring bt项目的根目录下建立dockerfile,用起来完成docker镜像构建的编排:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18
from maven:3.3.3

add pom.xml /tmp/build/

run cd /tmp/build && mvn -q dependency:resolve

add src /tmp/build/src

#构建应用

run cd /tmp/build && mvn -q -dskiptests=true package \\

#拷贝编译结果到指定目录

&& mv target/*.jar /app.jar \\

#清理编译痕迹

&& cd / && rm -rf /tmp/build

volume /tmp

expose 8080

entrypoint ["java","-djava.security.egd=file:/dev/./urandom","-jar","/app.jar”]

进入docker的世界

  • 0x01. 在spring项目根目录下根据dockerfile来生成docker镜像
    docker build -t springindocker .
  • 0x02. 从刚创建的镜像来启动容器
    docker run -d -p 8080:8080 springindocker
  • 0x03. 打开浏览器,或者使用 curl 访问http://127.0.0.1:8080就可以看到web服务器里返回的hello docker!!!问好的字符了

至此就说明你成功将一个基于 spring boot 的应用 docker 化了。

本文虽然只是以一个demo,但一个大型的web项目无非也就是由诸多这种rest服务,外加各种基础设施、数据库、通信、中间件以及调度来构成,每个子元素的开发也依然遵循这里的基本流程。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对快网idc的支持。

原文链接:https://segmentfault.com/a/1190000014332179

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Spring Boot应用Docker化的步骤详解 https://www.kuaiidc.com/111725.html

相关文章

发表评论
暂无评论