SpringBoot: 2.1.1
SpringCloud: Greenwich.M3
Consul: consul:1.3.0
Fabio: fabiolb/fabio:1.5.5-go1.9.2

具体的pom.xml和application-dev.yml文件内容可以参考我的GitHub项目

1. Consul

1.1 安装

docker pull consul:1.3.0

1.2 启动

docker run -d -t -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8500:8500 -p 8600:8600 --name test-consul consul:1.3.0

2. Fabio

2.1 安装

docker pull fabiolb/fabio:1.5.5-go1.9.2

2.2 启动

docker run -d -t -p 9998:9998 -p 9999:9999 --link test-consul:consul -e 'registry_consul_addr=consul:8500' fabiolb/fabio:1.5.5-go1.9.2

3. Docker部署SpringBoot应用

3.1 打包

请参考使用Docker打包SpringBoot并Push到DockerHub文章中的打包.并对pom.xml和application-dev.yml、application-test.yml进行如下修改:

在pom.xml中添加如下内容:

<!--<properties>标签中-->
<spring-cloud.version>Greenwich.M3</spring-cloud.version><!--<dependencies>标签中-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter</artifactId>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency><groupId>com.netflix.feign</groupId><artifactId>feign-httpclient</artifactId><version>8.18.0</version>
</dependency><!--与<dependencies>标签同级-->
<dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>
<repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository>
</repositories>

在application-dev.yml中添加如下内容:

spring:application:name: rest-api-mybatiscloud:consul:host: 127.0.0.1port: 8500discovery:register: truetags: urlprefix-/rest strip=/rest

3.2 启动

docker run --name rest_api --net=host -t star936/rest-api-mybatis:0.0.1
  • -t参数: Docker打包应用的镜像名:tag

4. 验证

4.1 查看consul ui

访问http://localhost:8500,查看是否注册上服务,如下图所示:

4.2 请求

向 http://localhost:9999/rest/{controller的URL} 发送请求,如果返回数据,则表示成功.

SpringBoot(二): 使用Dokcer+SpringCloud+Consul+Fabio搭建微服务相关推荐

  1. SpringCloud + kafka + ELK 搭建微服务日志管理平台

    SpringCloud + kafka + ELK 搭建微服务日志管理平台 2019-12-31,写在前面的话 今天是2019最后一天了,最近几天都在搞这块微服务日志管理的事情,有很多种方案实现,每种 ...

  2. spring cloud+.net core搭建微服务架构:Api授权认证(六)

    前言 这篇文章拖太久了,因为最近实在太忙了,加上这篇文章也非常长,所以花了不少时间,给大家说句抱歉.好,进入正题.目前的项目基本都是前后端分离了,前端分Web,Ios,Android...,后端也基本 ...

  3. spring cloud+dotnet core搭建微服务架构:配置中心续(五)

    前言 上一章最后讲了,更新配置以后需要重启客户端才能生效,这在实际的场景中是不可取的.由于目前Steeltoe配置的重载只能由客户端发起,没有实现处理程序侦听服务器更改事件,所以还没办法实现彻底实现这 ...

  4. spring cloud+dotnet core搭建微服务架构:配置中心(四)

    前言 我们项目中有很多需要配置的地方,最常见的就是各种服务URL地址,这些地址针对不同的运行环境还不一样,不管和打包还是部署都麻烦,需要非常的小心.一般配置都是存储到配置文件里面,不管多小的配置变动, ...

  5. 搭建微服务_快速搭建 SpringCloud 微服务开发环境的脚手架

    本文作者:HelloGitHub-秦人 本文适合有 SpringBoot 和 SpringCloud 基础知识的人群,跟着本文可使用和快速搭建 SpringCloud 项目. HelloGitHub ...

  6. SpringCloud入门总结 + 使用SpringCloud搭建微服务项目

    SpringCloud 1.认识微服务 2.认识spring Cloud 3.Spring Cloud Eureka 服务发现框架 3.1认识Eureka 3.2 实战--开发并部署Eureka Se ...

  7. 《黑马头条》SpringBoot+SpringCloud+ Nacos等企业级微服务架构项目

    01环境搭建.SpringCloud微服务(注册发现.服务调用.网关) 1)课程对比 2)项目概述 2.1)能让你收获什么 2.2)项目课程大纲 2.3)项目概述 随着智能手机的普及,人们更加习惯于通 ...

  8. Consul + fabio 实现自动服务发现、负载均衡 1

    Consul hashicorp团队开发 就是大名鼎鼎开发 vagrant 的团队. Consul 是一个提供服务发现.健康检测.K/V存储支持分布式高可用多数据中心的服务软件. 比较类似ZooKee ...

  9. spring cloud+dotnet core搭建微服务架构:服务发现(二)

    前言 上篇文章<手把手教你使用spring cloud+dotnet core搭建微服务架构:服务治理(-)>实际上只讲了服务治理中的服务注册,服务与服务之间如何调用呢?传统的方式,服务A ...

最新文章

  1. 2020秋季人工神经网络作业登记与批改
  2. 180.4. WebSphere Commerce Engerprise 7.0 Feature Pack 2.iso
  3. python统计字符在文件中出现的次数_python字符串中字符出现次数(python获取字符串个数)...
  4. opengl教程 linux,绘制基本的几何图形 - OpenGL编程学习实战教程_Linux编程_Linux公社-Linux系统门户网站...
  5. 在MFC中使用Cstring
  6. Helloworld【C#】
  7. 【转】Android中APK安装过程及原理解析
  8. 回溯法 —— 求解0/1背包问题(剪枝)
  9. 工作两年和研究生两年(专业硕士)有什么差异?
  10. 单例模式--懒汉模式和饿汉模式
  11. python计算均线斜率_一根20日均线闯天下——量化回测“压箱底指标”,值得读十遍!...
  12. Unity—背包系统(思路总括)
  13. spss自学过程案例
  14. 软件工程第二次作业——git的使用
  15. springboot整合谷歌身份验证
  16. python画国际象棋_python用turtle画国际象棋棋盘
  17. 创建RF测试库之使用装饰器@keyword
  18. flask 智能图灵机器人
  19. python 过滤相似图片_Python过滤纯色图片,挑选视频封面
  20. ygomobile卡组下载网站_游戏王YGOMobile

热门文章

  1. 云原生安全之容器级网站防篡改
  2. proc文件系统介绍
  3. 上海/北京内推 | 小米相机部视频算法组招聘视觉图像算法工程师
  4. PT展揭晓“2021年中国5G实力榜”,亿美软通入围“5G消息企业十强”
  5. 移动硬盘插到台式机,外接网卡无法连接wifi处理
  6. 计算机l符号代表什么意思,衣服sml代表什么意思 分别是什么的标记
  7. iOS微信分享服务器设置,iOS 微信分享 universalLink
  8. 网站建设好但是访问不了的原因及解决方法
  9. Vue Cli webpack打包出现Waring :Critical dependency: the request of a dependency is an expression
  10. asp.net消除锯齿的办法