Docker Swarm路由网格连接超时

时间:2018-05-14 18:43:33

标签: docker ubuntu-16.04 docker-swarm

我有两台运行Ubuntu 16.04 LTS的机器,我已经安装了Docker 18.03.1-ce。我在两台主机之间创建了一个主要工作的群体(我可以部署服务并显示它们等)。唯一的问题是我无法通过任何节点的IP连接到已发布的服务端口,如Docker文档中多次所述,除非服务在该特定节点上运行。

换句话说,如果在节点A上部署服务并侦听端口9000,则无法连接到端口9000上的节点B并访问该服务;连接超时。如果我尝试连接到不同的端口,比如端口9001,我会收到“Connection refused”,这意味着入口网络至少在端口9000上监听,我可以用{{1 }}

这两台计算机都位于同一物理网络上,防火墙已被禁用(netstat表示ufw status)。

入口网络出现在两个节点上:

Status: inactive

并且nodeA $ docker network ls NETWORK ID NAME DRIVER SCOPE 345229fb3285 bridge bridge local 09758f66413a docker_gwbridge bridge local 3bf43f750513 host host local fq3cc4bfawp3 ingress overlay swarm 9dbe769a1420 none null local kk67tdjc96vo portainer_agent-network overlay swarm m8fholkq3tmy portal_default overlay swarm nodeB $ docker network ls NETWORK ID NAME DRIVER SCOPE f8a837effb76 bridge bridge local e4521f7a132a docker_gwbridge bridge local 312d6e547ec5 host host local fq3cc4bfawp3 ingress overlay swarm 85da22f22522 none null local kk67tdjc96vo portainer_agent-network overlay swarm 显示我在网络上有三个容器,其中一个docker network inspect fq3,另外两个是我自己的容器,它显示ingress-endpoint下的两个节点。

如果服务正在发布端口9000,并且两个节点都在侦听端口9000,为什么我只能连接到节点A上的端口9000(容器正在运行的地方)并且连接在节点B上超时?

如何诊断入口路由无法正常工作的原因?

0 个答案:

没有答案