防止自己忘了,做个笔记。

环境为两台主机,ip分别为:  192.168.2.9192.168.2.7

首先在  192.168.2.9 上执行一下命令:

docker run -d --name consul1  --net=host -e CONSUL_BIND_INTERFACE=enp5s0 consul agent -server=true -client=0.0.0.0 -bind=192.168.2.9 -ui -bootstrap-expect=2  -node=node1

然后在 192.168.2.7上执行命令:

docker run -d --name consul2  --net=host -e CONSUL_BIND_INTERFACE=enp2s0 consul agent -server=true -client=0.0.0.0 -join=192.168.2.9  -node=node2

参数说明:

  • --net=host:容器启动最好是host,因为如果用Bridge,Consul 自带的DNS功能不起作用。

  • -e CONSUL_BIND_INTERFACE=enp5s0enp5s0是主机的网卡名称,每台主机可能不一样,使用命令ip a 可以查看网卡信息,找到内网Ip对应的名称就是该参数的值

  • -server:此标志用于控制代理是否处于服务器模式

  • -client=0.0.0.0:consul服务侦听地址,这个地址提供HTTP、DNS、RPC等服务,默认是127.0.0.1所以不对外提供服务,如果你要对外提供服务改成0.0.0.0

  • -bind=192.168.2.9:应为内部集群通信绑定的地址。这是集群中所有其他节点都应该可以访问的IP地址。默认情况下,这是“0.0.0.0”,这意味着Consul将绑定到本地计算机上的所有地址,并将 第一个可用的私有IPv4地址通告给群集的其余部分。这里我绑定了主机的内网地址, 让内网其他consul加入集群。

  • -ui:表示启动 Web UI 管理器,默认开放端口 8500

  • -bootstrap-expect=2:此标志提供数据中心中预期服务器的数量,Consul会等待指定数量的服务器可用,然后引导群集。

  • -node=node1:此节点在集群中的名称,这在集群内必须是唯一的。默认情况下,这是机器的主机名。

  • -join=192.168.2.9:启动时加入的另一位代理的地址。这可以指定多次以指定多个代理加入。如果Consul无法加入任何指定的地址,代理启动将失败。默认情况下,代理在启动时不会加入任何节点。请注意,retry_join在自动执行Consul集群部署时,使用 可能更适合帮助缓解节点启动竞争条件。

在浏览器输入地址http://192.168.2.9:8500即可访问

看到如图所示显示的 2 instances ,集群就启动成功了。

docker搭建consul集群的更多相关文章

  1. 庐山真面目之十二微服务架构基于Docker搭建Consul集群、Ocelot网关集群和IdentityServer版本实现

    庐山真面目之十二微服务架构基于Docker搭建Consul集群.Ocelot网关集群和IdentityServer版本实现 一.简介      在第七篇文章<庐山真面目之七微服务架构Consul ...

  2. vagrant+docker搭建consul集群开发环境

    HashiCorp 公司推出的Consul是一款分布式高可用服务治理与服务配置的工具.关于其配置与使用可以参考这篇文章 consul 简介与配置说明. 一般,我们会在多台主机上安装并启动 consul ...

  3. Docker学习-Docker搭建Consul集群

    1.环境准备 Linux机器三台 网络互通配置可以参考 https://www.cnblogs.com/woxpp/p/11858257.html 192.168.50.21 192.168.50.2 ...

  4. 使用Docker搭建consul集群+registrator实现服务自动注册。

    准备工作:10.173.16.83 master10.172.178.76 node110.171.19.139 node210.162.204.252 node3 一.安装consul-cluste ...

  5. Docker 搭建 etcd 集群

    阅读目录: 主机安装 集群搭建 API 操作 API 说明和 etcdctl 命令说明 etcd 是 CoreOS 团队发起的一个开源项目(Go 语言,其实很多这类项目都是 Go 语言实现的,只能说很 ...

  6. Docker搭建PXC集群

    如何创建MySQL的PXC集群 下载PXC集群镜像文件 下载 docker pull percona/percona-xtradb-cluster 重命名 [root@hongshaorou ~]# ...

  7. Docker搭建RabbitMQ集群

    Docker搭建RabbitMQ集群 Docker安装 见官网 RabbitMQ镜像下载及配置 见此博文 集群搭建 首先,我们需要启动运行RabbitMQ docker run -d --hostna ...

  8. docker搭建etcd集群环境

    其实关于集群网上说的方案已经很多了,尤其是官网,只是这里我个人只有一个虚拟机,在开发环境下建议用docker-compose来搭建etcd集群. 1.拉取etcd镜像 docker pull quay ...

  9. Docker安装Consul集群

    Docker 安装Consul集群 使用windows 环境,Docker desktop community 构建consul集群. 1.docker 容器网络 docker安装后,默认会创建三种网 ...

  10. docker 搭建zookeeper集群和kafka集群

    docker 搭建zookeeper集群 安装docker-compose容器编排工具 Compose介绍 Docker Compose 是 Docker 官方编排(Orchestration)项目之 ...

随机推荐

  1. 051_Lightning 定义 直接翻译来的

    那么为什么要命名为"Lightning"?那么,想一想关于实际Lightning,你在暴风雨中看到的那种.想想它的速度有多快,如果你眨眼,你可能会想念它.想想它是多么美丽; Lig ...

  2. go 单测

    1.在需要测试的go文件同级目录下创建${需要测试的文件名}_test.go文件 2. err, info :函数的返回值 "account-base-dd",1:传进去的参数 f ...

  3. esxi的一些命令

    今天本想在vcenter上建个分布式交换机,没想到在迁移主机端口时,由于主机只连了一个物理网卡,导致在迁移到分布式交换机而失去连接,几近周折,从网上找了几篇不错的文章,与众同乐 假如一台ESX主机先通 ...

  4. sync同步工具使用

    sync详解 sync概述: rsync是一个提供快速增量文件传输的开源工具.rsync在GNU通用公共许可证下免费提供,目前由Wayne Davison维护.传输前进行压缩,适合做备份使用. 命令格 ...

  5. Android studio应用

    菜单的使用 public class FirstActivity extends AppCompatActivity { @Override protected void onCreate(Bundl ...

  6. 软件工程作业:个人项目—wc项目

    软件工程作业:个人项目-WC项目 项目相关要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个命令行程序,模仿已有wc.exe 的功能,并加以扩充,给出某程 ...

  7. jmeter&badboy安装

    一.jmeter下载地址: 1. http://jmeter.apache.org/download_jmeter.cgi   \  https://www.apache.org/dist/jmete ...

  8. python for houdini——python在houdini中的基础应用02

    内容来源于网上视频 一.houdini python编译器 1.python shell 2.python source editor----代码可以随场景保存 构造的函数可以在外部通过hou.ses ...

  9. c# 一些方法记录

    // 返回当前目录的路径 fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "当前目录下的一个文件"); ...

  10. Matlab %贰

    第二章 APPLICATIONS OF MATLAB IN ENGINEERING MATLAB Script %:注解 %%:分节符 Relational Operators < <= ...