使用 Consul Registrator 时 ServiceAddress 为空
ServiceAddress is empty when using Consul Registrator
[
{
"Node": "consul-staging-a-1.org",
"Address": "10.0.11.221",
"ServiceID": "mesos-slave-staging-a-1.org:determined_bartik:5000",
"ServiceName": "service1",
"ServiceTags": null,
"ServiceAddress": "",
"ServicePort": 4003
},
{
"Node": "consul-staging-a-1.org",
"Address": "10.0.11.221",
"ServiceID": "mesos-slave-staging-a-1.org:angry_hypatia:5000",
"ServiceName": "service1",
"ServiceTags": null,
"ServiceAddress": "",
"ServicePort": 4007
}
]
这是我查询 Consul 服务 API (/v1/catalog/service/service1) 得到的结果。
我用来启动注册器和服务的命令:
docker run -d -v /var/run/docker.sock:/tmp/docker.sock -h $HOSTNAME gliderlabs/registrator consul://consul-staging-a-1.org:8500
docker run -d -p 4003:5000 -e "SERVICE_NAME=service1" docker-training/hello-world
docker run -d -p 4007:5000 -e "SERVICE_NAME=service1" docker-training/hello-world
我做错了什么步骤吗?如何将主机名分配给 ServiceAddress 字段?
我遇到了类似的问题,发现在 v6 Consul Registrator 之前 ServiceAddress 为空,但在 v6 中(目前最新)它是“0.0.0.0”。我尝试使用“-ip”选项但没有帮助,它以某种方式分配了容器的内部 IP 地址。在以下位置找到相关问题:
在我的例子中,我通过将容器绑定到 IP 地址来修复它,例如:
docker run -d -p 10.0.0.3:4003:5000 -e "SERVICE_NAME=service1" docker-training/hello-world
[
{
"Node": "consul-staging-a-1.org",
"Address": "10.0.11.221",
"ServiceID": "mesos-slave-staging-a-1.org:determined_bartik:5000",
"ServiceName": "service1",
"ServiceTags": null,
"ServiceAddress": "",
"ServicePort": 4003
},
{
"Node": "consul-staging-a-1.org",
"Address": "10.0.11.221",
"ServiceID": "mesos-slave-staging-a-1.org:angry_hypatia:5000",
"ServiceName": "service1",
"ServiceTags": null,
"ServiceAddress": "",
"ServicePort": 4007
}
]
这是我查询 Consul 服务 API (/v1/catalog/service/service1) 得到的结果。
我用来启动注册器和服务的命令:
docker run -d -v /var/run/docker.sock:/tmp/docker.sock -h $HOSTNAME gliderlabs/registrator consul://consul-staging-a-1.org:8500
docker run -d -p 4003:5000 -e "SERVICE_NAME=service1" docker-training/hello-world
docker run -d -p 4007:5000 -e "SERVICE_NAME=service1" docker-training/hello-world
我做错了什么步骤吗?如何将主机名分配给 ServiceAddress 字段?
我遇到了类似的问题,发现在 v6 Consul Registrator 之前 ServiceAddress 为空,但在 v6 中(目前最新)它是“0.0.0.0”。我尝试使用“-ip”选项但没有帮助,它以某种方式分配了容器的内部 IP 地址。在以下位置找到相关问题:
在我的例子中,我通过将容器绑定到 IP 地址来修复它,例如:
docker run -d -p 10.0.0.3:4003:5000 -e "SERVICE_NAME=service1" docker-training/hello-world