Docker安装Consul

拉取Consul镜像

$ docker pull consul # 默认拉取latest
$ docker pull consul:1.6.1 # 拉取指定版本

安装并运行

docker run -d -p 8500:8500 --restart=always --name=consul consul:latest agent -server -bootstrap -ui -node=1 -client='0.0.0.0'
  • agent: 表示启动 Agent 进程。

  • server:表示启动 Consul Server 模式

  • client:表示启动 Consul Cilent 模式。

  • bootstrap:表示这个节点是 Server-Leader ,每个数据中心只能运行一台服务器。技术角度上讲 Leader 是通过 Raft 算法选举的,但是集群第一次启动时需要一个引导 Leader,在引导群集后,建议不要使用此标志。

  • ui:表示启动 Web UI 管理器,默认开放端口 8500,所以上面使用 Docker 命令把 8500 端口对外开放。

  • node:节点的名称,集群中必须是唯一的,默认是该节点的主机名。

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

  • join:表示加入到某一个集群中去。 如:-json=192.168.0.11。

关闭防火墙或开放8500端口

【查看防火墙是否开启】

$ systemctl status firewalld

【开启或关闭防火墙】

$ systemctl start firewalld
$ systemctl stop firewalld

【查看所有开启的端口】

$ firewall-cmd --list-ports

【开启80端口】

$ firewall-cmd --zone=public --add-port=2181/tcp --permanent

【重启防火墙,使其生效】

$ firewall-cmd --reload

如果是阿里云服务器,需要设置安全组:

来到实例管理页面,点击更多,点击网络和安全组,点击安全组配置。

点击配置规则。

点击添加安全组规则,端口范围改为8500。

测试访问

访问:hostname:8500/

  1. services:放置服务
  2. nodes:放置consul节点
  3. key/value:放置一些配置信息
  4. dc1:配置数据中心

参考

posted @   天乔巴夏丶  阅读(14756)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
历史上的今天:
2019-11-20 Intellij IDEA如何设置快速调整字体大小的快捷键
2019-11-20 Win10如何快速截屏
点击右上角即可分享
微信分享提示