扫码订阅《 Go语言微服务理论课程》或入驻星球,即可阅读文章!

GOLANG ROADMAP

阅读模式

  • 沉浸
  • 自动
  • 日常
首页
Go友会
  • 城市
  • 校园
Go学院
  • Go小课
  • Go小考
  • Go实战
  • 精品课
Go求职
  • 求职辅导🔥
  • Offer收割社群
  • 企业题库
  • 面试宝典
Go宝典
  • 在线宝典
  • B站精选
  • 推荐图书
  • 每日博文
Go仓库
实验区
  • Go周边
  • Go下载
  • Go月刊
消息
更多
  • 用户中心

    • 我的信息
    • 推广返利
  • 玩转星球

    • 星球介绍
    • 角色体系
    • 星主权益
  • 支持与服务

    • 联系星主
    • 成长记录
    • 常见问题
    • 吐槽专区
  • 合作交流

    • 渠道合作
    • 课程入驻
    • 友情链接
author-avatar

GOLANG ROADMAP


首页
Go友会
  • 城市
  • 校园
Go学院
  • Go小课
  • Go小考
  • Go实战
  • 精品课
Go求职
  • 求职辅导🔥
  • Offer收割社群
  • 企业题库
  • 面试宝典
Go宝典
  • 在线宝典
  • B站精选
  • 推荐图书
  • 每日博文
Go仓库
实验区
  • Go周边
  • Go下载
  • Go月刊
消息
更多
  • 用户中心

    • 我的信息
    • 推广返利
  • 玩转星球

    • 星球介绍
    • 角色体系
    • 星主权益
  • 支持与服务

    • 联系星主
    • 成长记录
    • 常见问题
    • 吐槽专区
  • 合作交流

    • 渠道合作
    • 课程入驻
    • 友情链接
  • 《Go语言微服务理论课程》

    • 课程介绍
  • 微服务简介

  • Protobuf通信协议

  • 微服务管理

    • 第1节:服务发现
    • 第2节:分布式与单点故障
    • 第3节:Consul服务发现原理
    • 第4节:Consul启动
    • 第5节:服务注册与查询
    • 第6节:Docker安装及运行consul节点
    • 第7节:Docker搭建Consul集群
    • 第8节:微服务定义
    • 第9节:微服务理论实践课程回顾

扫码订阅《 Go语言微服务理论课程》或入驻星球,即可阅读文章!

第6节:Docker安装及运行consul节点


GOLANG ROADMAP

# 搭建集群

在真实的生产环境中,需要真实的部署consul集群。在一台机器上想要模拟多台集群部署的效果,有两种方案:一种是借助虚拟机,另一种是借助容器技术。

在本系列课程中,使用后者容器技术来实现集群的搭建。

# Docker简介

Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。

Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何的接口,更重要的是容器性能开销很低。

# Docker安装

# 1、Windows系统下安装

window系统下的安装可以参考如下的链接文档:https://www.runoob.com/docker/windows-docker-install.html

可以按照如上的链接在window系统下安装Docker。

# 2、MacOS系统下安装

MacOS系统下的安装,有两种方式。同样可以参考如下链接:https://www.runoob.com/docker/macos-docker-install.html

# Docker测试

Docker安装完成以后,可以进行测试。可以通过终端命令的形式查看Docker是否安装成功:

docker version
1

docker版本查看

# Docker中安装consul

Docker仅仅是一个容器,是搭建集群的一个环境。如果想要搭建多个集群,还必须安装consul环境。Docker中安装consul环境,可以使用指令实现。Docker安装consul指令如下:

  • docker search
docker search consul
1

使用如上命令查看consul的镜像文件,在终端输出如下所示内容: docker中查找consul的镜像文件

  • docker pull
docker pull consul
1

通过search查询了consul镜像的相关内容后,可以使用如上的docker pull命令安装consul环境。 Docker安装consul环境

# 检验Docker安装Consul成功

在Docker中安装consul可以,可以通过如下命令查看docker中安装consul是否成功:

docker images
1

docker中检查是否安装了consul

或者

docker run consul version
1

docker中查看consul版本

# Docker中启动一个单独节点consul agent

Docker中安装好了consul以后,首先尝试启动一个server节点,可以通过如下命令来启动docker中的单个节点:

$ docker run -p 8500:8500/tcp consul agent -server -ui -bootstrap-expect=1 -client=0.0.0.0
1

Docker启动单节点server

如上的命令中,参数说明如下:

  • 暴露了端口,分别是:HTTP端口:8500
  • -h:对应的node1为节点的名称
  • -server:表示启动的节点类型为server类型
  • -bootstrap-expect:用于server节点选举leader的参数,表示达到几个server节点时开始选举

在暴露的http端口中,还对应的映射到了主机的端口上,因此,我们可以通过在主机中访问server的信息。比如:

  • curl访问HTTP接口:

    curl localhost:8500/v1/catalog/nodes
    
    1

    http端口的映射访问

  • dig来和DNS接口进行交互:

    dig @0.0.0.0 -p 8600 node1.node.consul
    
    1

    dns端口映射访问

另外,我们还可以浏览器来进行访问,在主机的浏览器中键入:http://127.0.0.1:8500 (opens new window) 进行访问,可以查看到server节点的相关信息。

主机的浏览器访问sever信息

  • 宿主机上查看节点数量 在宿主机上已经安装了Consul, 可以用命令行来和容器里的Consul Agent进行交互:
consul members
1

宿主机中的与docker中的节点进行交互

  • 搭建集群
  • Docker简介
  • Docker安装
  • 1、Windows系统下安装
  • 2、MacOS系统下安装
  • Docker测试
  • Docker中安装consul
  • 检验Docker安装Consul成功
  • Docker中启动一个单独节点consul agent