阿里雲部署docker-swarm 內網問題


先說目前的結論:
docker-swarm部署的應用,在阿里雲內網上無法訪問。

之前都是在自己的雲主機上,用docker-swarm部署,映射端口后,通過公網ip可以訪問服務。

昨天要轉到公司提供的服務器上,由於同一區域還有其他服務要交互,准備通過內網地址提供服務,內網網速快,也沒有流量限制。

但是部署以后,發現無論如何內網ip訪問端口都不通。
但是通過外網ip訪問這些端口,都能正常使用。

首先排除服務問題,因為外網功能正常。
其次內網也是連通的,ping得通,而且不通過docker啟動的服務端口,也能通。

通過netstat查看,docker啟動的是tcp6監聽。所以懷疑與內網+ipv6有關,折騰了比較久,也請阿里技術人員幫忙看過,結合網上搜索的一些文章,得到幾點信息:

  1. docker啟動的都是監聽tcp6協議,即使主機禁用ipv6
  2. 通過tcpdump可以抓到內網發來到docker-swarm端口的tcp起始包,但是docker服務沒有響應
  3. 通過iptables監聽不到內網ip發來到docker-swarm端口的tcp包
  4. docker不通過swarm部署的應用,mapping出來的端口,通過內網ip也能訪問

鑒於此,最終改用docker-compose進行部署,起始已經不算是集群了,僅僅是可以和docker swarm復用配置文件而已。

最后的問題可能是在阿里雲或者docker swarm上,但是無法確認了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM