安装
三台机器
1 | 192.168.16.161 |
161
1 | docker run --net=host --name consul -v /app/consul/data:/consul/data -v /app/consul/conf:/consul/config -d consul consul agent -server -bind=192.168.16.161 -client 0.0.0.0 -ui -bootstrap-expect=3 -data-dir /consul/data -config-dir /consul/config |
69
1 | docker run --net=host --name consul -v /app/consul/data:/consul/data -v /app/consul/conf:/consul/config -d consul consul agent -server -bind=192.168.16.69 -client 0.0.0.0 -ui -bootstrap-expect=3 -data-dir /consul/data -config-dir /consul/config -join 192.168.16.161 |
47
1 | docker run --net=host --name consul -v /app/consul/data:/consul/data -v /app/consul/conf:/consul/config -d consul consul agent -server -bind=192.168.16.47 -client 0.0.0.0 -ui -bootstrap-expect=3 -data-dir /consul/data -config-dir /consul/config -join 192.168.16.161 |
参数说明
1 | --net=host:采用主机网络配置,若采用默认的bridge模式,则会存在容器跨主机间通信失败的问题 |
进入容器,查看集群信息
1 | docker exec -it 46267ed9474c /bin/sh |
访问 web 界面 http://192.168.16.161:8500/ui/
Python 使用
参考 github 上的项目进行了简单的修改,修改后地址为 新地址,使用方式:
- 启动 consul
- 将 consul 地址配置到代码中
- 启动项目(注意修改启动 IP 为本机 IP,因为 consul 会对项目做健康检查,检查不通过无法调用服务)
- 查看 consul web 页面,查看服务是否正常
- 执行 aaaa.py 脚本,调用 consul 上已经注册的服务
参考资料: