A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 合肥就业部 于 2018-5-3 15:02 编辑

【合肥中心】SpringBoot应用Docker化
概述
当下web服务端开发中最火的名词中绝对有微服务的一席之地,其也成为当下互联网后端服务架构演进历程中最闪亮的技术之一。微服务的基本思想在于考虑围绕着业务领域组件来创建应用,这些应用可独立地进行开发、管理和加速。在分散的组件中使用微服务云架构和平台,使部署、管理和服务功能交付变得更加简单。既然服务被分割和微小化了,我们很容易想到如果将其和docker结合,让docker承载着一个个的微服务运行,如此一来将会让服务间耦合度降低,部署简洁,同时系统的架构也更加清晰,便于长期演进,基于此想法有了这篇文章的入门实践!
创建基于maven的spring bt项目
pom.xml中加依赖:
[AppleScript] 纯文本查看 复制代码
<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!的问好!
[AppleScript] 纯文本查看 复制代码
@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镜像构建的编排:
[AppleScript] 纯文本查看 复制代码
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的世界
在Spring项目根目录下根据Dockerfile来生成docker镜像
[AppleScript] 纯文本查看 复制代码
    `docker build -t springindocker .`[align=left][color=#004000][backcolor=transparent][font=微软雅黑][size=14px]
从刚创建的镜像来启动容器
打开浏览器,或者使用 curl 访问http://127.0.0.1:8080就可以看到web服务器里返回的Hello Docker!!!问好的字符了
至此就说明你成功将一个基于 Spring Boot 的应用 Docker 化了。





11 个回复

倒序浏览
回复 使用道具 举报
高能来啦
回复 使用道具 举报
点赞支持
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报

合肥校区蒸蒸日上
回复 使用道具 举报
我希望有一天可以看懂代码
回复 使用道具 举报
回复 使用道具 举报
朱浩 来自手机 黑马粉丝团 2018-5-3 18:00:38
10#
厉害了
回复 使用道具 举报
骑着小猪看雪 来自手机 黑马粉丝团 2018-5-4 10:17:26
11#
666
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马