Docker Consul安装和配置

Github 地址 https://www.github.com/hashicorp/consul

文档 https://developer.hashicorp.com/consul/docs

# 在 Docker 中安装 consul

docker run -d -p 8500:8500 -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8600:8600/udp consul consul agent -dev -client=0.0.0.0

说明:以上命令为本人在开发环境下使用,8500 为 http 端口,8600 为 dns 的端口。

常用参数

  • 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。

设置容器自启动

docker comtailer update --restart=always consul

# 访问 HTTP

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

# 访问 DNS

consul 提供 dns 功能,在 linux 系统下,可以通过 dig 命令行来进行测试,consul 默认的 dns 端口是 8600,命令行:

# dig @[host] -p [port] [service name].service.consul SRV

dig @192.168.1.6 -p 8600 consul.service.consul SRV
使用 Hugo 构建
主题 StackJimmy 设计