Консул публикует зарегистрированный адрес службы и порт как ничего - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть сервер узлов, который регистрирует свой адрес в Консуле.Оба работают в док-контейнерах.

consul.deregister();

const registration = { address: CONSUL_HOST || '127.0.0.1',
 port: parseInt(process.env.PORT, 10) || 3000 };


console.log(registration);
//logs correct host and port from within its container

setInterval(() =>
  consul.register(registration),
30000);

консул регистрирует службу.Ниже приведен ответ из контейнера консула для службы узла.

[
    {
        "ID": "<-- id -->",
        "Node": "consul",
        "Address": "127.0.0.1",
        "Datacenter": "dc1",
        "TaggedAddresses": {
            "lan": "127.0.0.1",
            "wan": "127.0.0.1"
        },
        "NodeMeta": {
            "consul-network-segment": ""
        },
        "ServiceID": "my_portal",
        "ServiceName": "my_portal",
        "ServiceTags": [],
        "ServiceAddress": "", ## <--- ?
        "ServiceMeta": {},
        "ServicePort": 0, ## <--- ?
        "ServiceEnableTagOverride": false,
        "CreateIndex": 12,
        "ModifyIndex": 12
    }
]

Обратите внимание, что у меня есть несколько других служб на той же машине в контейнерах, но не приложения узла, которые успешно зарегистрировали свои адреса.Я не уверен, что это лучший способ отладить это.Приложение явно получает правильные переменные из docker-compose.Любая помощь, пытающаяся отладить это, будет принята с благодарностью, спасибо!

...