亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Docker容器內微服務向注冊中心注冊ip地址的問題

Docker容器內微服務向注冊中心注冊ip地址的問題

慕桂英4014372 2018-10-11 13:26:46
微服務啟動的時候,會自動向服務注冊中心報告自己的ip和端口。但是服務是在docker容器內運行的,注冊的ip就成了172開頭的docker內部ip, 這個地址是無法被其它機器訪問的。這種情況是不是必須手動將服務注冊的地址改成宿主機的地址和端口呢,有其它好方案沒----- update -----docker 1.12版本以后engine有了swarm模式,經測試使用swarm的overlay網絡可解決跨主機通訊問題,這種方案是否合適呢
查看完整描述

3 回答

?
慕用0266149

TA貢獻1條經驗 獲得超0個贊

這里我是這樣解決的?

因為docker是172的 而且即使修改了微服務注冊到注冊中心的ip改成了192也是不行

解決辦法: 改變docker的網絡模式 我這里改成了host模式 共用物理機的 就可以了?

在創建容器的時候 --net=host 就可以了


查看完整回答
反對 回復 2019-11-17
?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

有幾個思路:
1、在啟動服務的時候由宿主設備報告 ip
2、啟動服務的時候向容器環境變量中注入宿主 ip 信息
3、注冊中心收到注冊請求時,從網絡層拿 ip

查看完整回答
反對 回復 2018-10-29
?
眼眸繁星

TA貢獻1873條經驗 獲得超9個贊

docker swarm 提供的overlay network可以提供跨主機的容器內網絡通訊,本機內容器可以在啟動時指定network來組成內部網絡,然后可以在swarm主機上用host模式部署nginx,使用etcd,consul等動態注冊服務和更新nginx的反向代理配置來達到動態服務發現的目的。
不過overlay目前是所有跨主機通訊方式中性能損耗最大的,達到60%。網上有人做過測試,你可以找來看看。因此就目前來說,生產環境還是要考慮kubernetes或者mesos

查看完整回答
反對 回復 2018-10-29
  • 3 回答
  • 0 關注
  • 8084 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號