黑马程序员技术交流社区

标题: 【合肥中心】SpringBoot应用Docker化 [打印本页]

作者: 项老师    时间: 2018-5-3 15:01
标题: 【合肥中心】SpringBoot应用Docker化
本帖最后由 合肥就业部 于 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 .`
从刚创建的镜像来启动容器
打开浏览器,或者使用 curl 访问http://127.0.0.1:8080就可以看到web服务器里返回的Hello Docker!!!问好的字符了
至此就说明你成功将一个基于 Spring Boot 的应用 Docker 化了。






作者: O-limin    时间: 2018-5-3 15:47

作者: 美美就是美    时间: 2018-5-3 15:47
高能来啦
作者: 皖哥哥    时间: 2018-5-3 15:47
点赞支持
作者: 项老师    时间: 2018-5-3 15:47

作者: 奥斯托洛夫斯基    时间: 2018-5-3 15:47

作者: hguilin    时间: 2018-5-3 15:49

合肥校区蒸蒸日上
作者: 小皖妹妹    时间: 2018-5-3 16:01
我希望有一天可以看懂代码
作者: 黑马啸西风    时间: 2018-5-3 17:57

作者: 朱浩    时间: 2018-5-3 18:00
厉害了
作者: 骑着小猪看雪    时间: 2018-5-4 10:17
666
作者: 鸟语花香    时间: 2018-5-4 11:00





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2