【发布时间】:2019-06-01 15:10:09
【问题描述】:
我让 Consul 使用 docker-compose 通过 docker 运行
version: '3'
services:
consul:
image: unifio/consul:latest
ports:
- "8500:8500"
- "8300:8300"
volumes:
- ./config:/config
- ./.data/consul:/data
command: agent -server -data-dir=/data -ui -bind 0.0.0.0 -client 0.0.0.0 -bootstrap-expect=1
mongo:
image: mongo
ports:
- "27017:27017"
- "27018:27018"
volumes:
- ./.data/mongodb:/data/db
command: mongod --bind_ip_all
并在端口6001 上运行一个nodejs 服务,该服务公开一个/health 端点以进行健康检查。
我可以通过这个consul package 注册服务。
但是,访问 consul UI 我可以看到该服务的状态为failing,因为健康检查不起作用。
UI 显示此消息:
Get http://127.0.0.1:6001/health: dial tcp 127.0.0.1:6001: getsockopt: connection refused
不确定为什么不能完全正常工作,但我感觉我可能错误地配置了领事。 任何帮助都会很棒。
【问题讨论】:
-
你能解决这个问题吗@MrFoh
标签: docker consul service-discovery