1. 程式人生 > >跨主機容器間通訊解決方案

跨主機容器間通訊解決方案

ping不通 端口 str mage 跨主機 fff 分享 技術 測試結果

1.docker集群間容器是否可以通信。

創建容器服務來測試:docker service create --name tomcat1 --replicas 2 192.168.56.200:5000/tomcat

技術分享圖片
技術分享圖片
測試結果ping不通。
技術分享圖片

2.docker 在早前的時候沒有考慮跨主機的容器通信,這個特性直到 docker 1.9 才出現。在此之前,如果希望位於不同主機的容器能夠通信,一般有幾種方法:
使用端口映射:直接把容器的服務端口映射到主機上,主機直接通過映射出來的端口通信
把容器放到主機所在的網段:修改 docker 的 ip 分配網段和主機一致,還要修改主機的網絡結構
第三方項目:flannel,weave 或者 pipework 等,這些方案一般都是通過 SDN 搭建 overlay 網絡達到容器通信的

解決方案:創建overlay網絡
docker network create -d overlay net
docker network ls
技術分享圖片
再創建容器進行測試
docker service create --name tomcat2 --mode global --network net 192.168.56.200:5000/tomcat
技術分享圖片![]

技術分享圖片
創建鏡像信息:docker inspect cf2bb17e353e
技術分享圖片
有了overlay網絡可以ping通了。
技術分享圖片

兩個容器可以通信是因為加了一個overlay層。
技術分享圖片

跨主機容器間通訊解決方案