创建集群:1个client,3个server
docker run -d --name=consul1 -p 8900:8500 -e CONSUL_BIND_INTERFACE=eth0 consul agent --server=true --bootstrap-expect=3 --client=0.0.0.0 -ui docker run -d --name=consul2 -e CONSUL_BIND_INTERFACE=eth0 consul agent --server=true --client=0.0.0.0 --join 172.17.0.9 docker run -d --name=consul3 -e CONSUL_BIND_INTERFACE=eth0 consul agent --server=true --client=0.0.0.0 --join 172.17.0.9 docker run -d --name=consul4 -e CONSUL_BIND_INTERFACE=eth0 consul agent --server=false --client=0.0.0.0 --join 172.17.0.9
进入容器 : docker exec -it consul4 /bin/sh
第一:通过配置文件注册一个服务
services.json { "services": [ { "id": "hello1", "name": "hello", "tags": [ "primary" ], "address": "172.16.9.139", "port": 80, "checks": [ { "http": "http://dev.lara/test", "tls_skip_verify": false, "method": "Get", "interval": "10s", "timeout": "1s" } ] } ] }
docker cp services.json consul6:/consul/config consul reload 重新载入配置文件 curl http://127.0.0.1:8900/v1/health/service/hello?passing=true 返回的信息包括注册的 Consul 节点信息、服务信息及服务的健康检查信息。
第二:http Api
curl --request PUT --data @services.json http://127.0.0.1:8500/v1/agent/service/register
查询指定节点以及指定的服务信息。
curl http://localhost:8500/v1/catalog/service/hello
删除一个服务
curl --request PUT http://127.0.0.1:8500/v1/agent/service/deregister/redis1
文章来源: https://blog.csdn.net/qq_25864747/article/details/92631270