ConsulDemo

一、启动命令:

consul agent -server -ui -bootstrap-expect=1 -data-dir 'D:\Tools\Consul\ConsulData' -node=consul-1 -bind '192.168.0.103' -datacenter=dc1

注解:

-server    表示已服务器方式启动
-ui        使用Consul内置的UI系统
-bootstrap-expect 设定此Consul服务需要几台服务器(一般可设为3或5)
-data-dir  设定数据文件路径
-node      设置节点名称
-bind      绑定IP地址
-datacenter   设置数据中心名称

二、Docker部署:

1.拉取镜像:docker pull consul

2.部署容器+启动节点:

// Server 节点 1

docker run --name cs1 -p 8500:8500 -v D:\DockerData\ConsulData\cs1:/consuldata consul agent -server -bind 172.17.0.2 -node consul-server-1 -data-dir /consuldata -bootstrap-expect 3 -client 0.0.0.0 -ui

// Server 节点 2

docker run --name cs2 -p 7500:8500 -v D:\DockerData\ConsulData\cs2:/consuldata consul agent -server -bind 172.17.0.3 -node consul-server-2 -data-dir /consuldata -bootstrap-expect 3 -client 0.0.0.0 -ui -join 172.17.0.2

// Server 节点 3

docker run --name cs3 -p 6500:8500 -v D:\DockerData\ConsulData\cs3:/consuldata consul agent -server -bind 172.17.0.4 -node consul-server-3 -data-dir /consuldata -bootstrap-expect 3 -client 0.0.0.0 -ui -join 172.17.0.2

// Client 节点 1

docker run --name cc1 -p 5500:8500 -v D:\DockerData\ConsulData\cc1:/consuldata consul agent -bind 172.17.0.5 -node consul-client-1 -data-dir /consuldata -client 0.0.0.0 -ui -join 172.17.0.2

3.查看节点状态: docker exec -t cs1 consul members

4.查看Server状态: docker exec -t cs1 consul operator raft list-peers

5.查看界面: 浏览器访问localhost:8500(7500/6500/5500)

三、运行程序

dotnet run --urls http://: --servicename **** --consuladdress http://:

注解:

--urls            ASP.NET Core WebApi项目启动地址        
--servicename     ConsulService的名称
--consuladdress   Consul服务器的地址