2
我有一個問題,在使用領事模板似乎代替服務「ServiceAddress」而不是我的模板中的「地址」,我不知道是否有人可以告訴我爲什麼。使用模板中的地址不ServiceAddress的領事模板
從我nginx的容器內的bash命令,其中領事模板也在運行,我可以從領事與獲取服務定義:
curl http://consul-server.service.consul:8500/v1/catalog/service/service1
[{"Node":"ip-172-31-24-202","Address":"172.31.24.202","ServiceID":"ip-172-31-24-202:service1:23141","ServiceName":"service1","ServiceTags":null,"ServiceAddress":"172.17.0.3","ServicePort":32809}]
我領事模板模板文件看起來像:
{{range service "service1"}}server {{.Address}}:{{.Port}};
我希望這將輸出Address
,而不是服務的ServiceAddress
。但是,下面的情況:
consul-template -consul consul-server.service.consul:8500 -template "/var/templates/service1.conf.tmpl" -dry -once
server 172.17.0.3:32809
是的,它是如此令人困惑,我們沒有暴露服務目錄迭代W /'{{範圍服務「myservice」}}'。感謝您指出並暗示註冊人的'-ip'標誌。 – soosap