国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Docker容器內(nèi)微服務(wù)向註冊中心註冊ip位址的問題
給我你的懷抱
給我你的懷抱 2017-04-27 09:03:14
0
7
1410

微服務(wù)啟動的時候,會自動向服務(wù)註冊中心報告自己的ip和連接埠。但是服務(wù)是在docker容器內(nèi)運(yùn)作的,註冊的ip就成了172開頭的docker內(nèi)部ip, 這個位址是無法被其它機(jī)器存取的。

這種情況是不是必須手動將服務(wù)註冊的地址改成宿主機(jī)的地址和端口呢,有其它好方案沒

----- update -----
docker 1.12版本以後engine有了swarm模式,經(jīng)過測試使用swarm的overlay網(wǎng)路可解決跨主機(jī)通訊問題,這種方案是否合適呢

給我你的懷抱
給我你的懷抱

全部回覆(7)
小葫蘆

docker swarm 提供的overlay network可以提供跨主機(jī)的容器內(nèi)網(wǎng)絡(luò)通訊,本機(jī)內(nèi)容器可以在啟動時指定network來組成內(nèi)部網(wǎng)絡(luò),然後可以在swarm主機(jī)上用host模式部署nginx,使用etcd,consul等動態(tài)註冊服務(wù)和更新nginx的反向代理配置來達(dá)到動態(tài)服務(wù)發(fā)現(xiàn)的目的。
不過overlay目前是所有跨主機(jī)通訊方式中效能損耗最大的,達(dá)到60%。網(wǎng)路上有人做過測試,你可以找來看看。因此就目前來說,生產(chǎn)環(huán)境還是要考慮kubernetes或mesos

小葫蘆

對網(wǎng)路方面不是很懂,請google docker跨主機(jī)通訊能搜到一些方案。

我想大聲告訴你

用host加內(nèi)部dns

Ty80

有幾個思路:
1、在啟動服務(wù)的時候由宿主設(shè)備報告ip
2、啟動服務(wù)的時候向容器環(huán)境變量中註入宿主ip 信息
3、註冊中心收到註冊請求時,從網(wǎng)絡(luò)層拿ip

曾經(jīng)蠟筆沒有小新

因為容器是動態(tài)的,通常情況下IP位址隨機(jī)分配的。當(dāng)使用容器調(diào)度系統(tǒng)自動啟動一些容器後,可以透過服務(wù)註冊把這些容器的存取位址記錄到服務(wù)註冊中心。這樣當(dāng)外部服務(wù)想要存取這些容器時,就可以透過服務(wù)發(fā)現(xiàn)(service discovery)存取這些容器

世界只因有你

非常簡單啊,各種跨主機(jī)docker網(wǎng)路通訊方??案。

kubernetes就在用flannel。

巴扎黑

可以考慮其他方式
1.使用kubernetes等服務(wù)編排工具(對docker方面有較大改變)
2.使用consul等註冊中心(對註冊中心代碼方面有較大改變)

如果微服務(wù)使用的是spring cloud,則更推薦第二種,可以完美解決此問題

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板