Я пытаюсь запустить контейнер докера, который принимает CONSUL_URL как переменную ENV. На данный момент я создал консула на моем локальном хосте, и я запускаю его следующим образом: consul agent -dev -bind=127.0.0.1 -ui-dir /usr/local/Cellar/consul/0.7.0/share/consul/web-ui
Как подключить сервис, работающий внутри докера с консулом?
Я могу получить доступ к консулу таким образом, когда я перехожу на http://localhost:8500. Но теперь, когда я бегу контейнер Докер через это, docker run -e CONSUL_URL=127.0.0.1:8500 -p 8500:8500 b321825a6c7a
, она дает мне следующее сообщение об ошибке:
2016/10/05 09:38:38 [ERR] (view) "key_or_default(foo.appconfig.properties/logger.name, "foo_PERF_LOG")" store key: error fetching: Get http://127.0.0.1:8500/v1/kv/foo.appconfig.properties/logger.name?stale=&wait=60000ms: dial tcp 127.0.0.1:8500: getsockopt: connection refused
2016/10/05 09:38:38 [ERR] (runner) watcher reported error: store key: error fetching: Get http://127.0.0.1:8500/v1/kv/foo.appconfig.properties/logger.name?stale=&wait=60000ms: dial tcp 127.0.0.1:8500: getsockopt: connection refused
Consul Template returned errors:
store key: error fetching: Get http://127.0.0.1:8500/v1/kv/foo.appconfig.properties/logger.name?stale=&wait=60000ms: dial tcp 127.0.0.1:8500: getsockopt: connection refusedexecuting: 'myscript.sh run'
Почему я не могу подключиться с консулом URL? Я также попытался изменить URL-адрес localhost на IP-адрес моей машины, но я тоже получаю ту же ошибку. Я сделал картографирование портов, поэтому, я думаю, это должно сработать. Где я иду не так?
только для того, чтобы убедиться, что вы знаете, что новый режим «рой» докеры не требует от Консула права? – Alkaline
@Alkaline, я прочитал о рое докеров, но я не уверен, что он также обеспечивает функциональность изменения конфигураций приложений вне контейнера докеров, не перестраивая изображение снова и снова. Это правда? –