我正在嘗試運行一個將CONSUL_URL作爲ENV變量的docker容器。現在,我已經在我的本地主機上設置了領事,我像這樣運行它: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連接?我也嘗試將localhost url更改爲我的機器的IP地址,但是,我也遇到了同樣的錯誤。我已經完成了端口映射,所以我想它應該可以工作。我哪裏錯了?
只是爲了確定,你知道新的docker「swarm模式」不需要Consul對嗎? – Alkaline
@Alkaline,我的確瞭解了Docker羣,但我不確定它是否也提供了從Docker容器外部更改應用程序配置的功能,而無需再次重新構建映像。真的嗎? –