Docker 在SWARM中,无法从工作节点访问服务

Docker 在SWARM中,无法从工作节点访问服务,docker,ubuntu,docker-swarm,swarm,vmware-player,Docker,Ubuntu,Docker Swarm,Swarm,Vmware Player,我对码头工人的世界还不熟悉。在学习期间,我创建了以下设置: 1.虚拟机-运行在VMware workstation 15 Player上的Ubuntu 20。IP-192.168.0.106。我可以从这个虚拟机(比如说VM1)访问internet,也可以从物理系统操作系统(Windows 10)ping该系统 2.虚拟机-运行在VMware workstation 15 Player上的Ubuntu 20。IP-192.168.0.105。我可以从这个虚拟机(比如说VM2)访问internet,

我对码头工人的世界还不熟悉。在学习期间,我创建了以下设置:

1.虚拟机-运行在VMware workstation 15 Player上的Ubuntu 20。IP-192.168.0.106。我可以从这个虚拟机(比如说VM1)访问internet,也可以从物理系统操作系统(Windows 10)ping该系统

2.虚拟机-运行在VMware workstation 15 Player上的Ubuntu 20。IP-192.168.0.105。我可以从这个虚拟机(比如说VM2)访问internet,也可以从物理系统操作系统(Windows 10)ping该系统

  • 现在,我从VM1创建了swarm,如下所示:

    sudo docker swarm init——广告地址192.168.0.106:2377——收听地址192.168.0.106:2377

  • 然后我在这个群中添加了VM2,如下所示:

    sudo docker swarm join——令牌SWMTKN-1-4I56Y47L6O4AYCRMG7UN21OEGMWnllCSXAF4ZXD05GGQG0ZH-9qp67bejerq9dhl3f0suaauvl 192.168.0.106:2377——广告地址192.168.0.105:2377——收听地址192.168.0.105:2377

  • 之后,我查看了swarm的详细信息:

  • sudo docker节点ls

    ID主机名状态可用性管理器状态引擎版本

    ogka7rdjohri9elcbjjcpdlbp*ubuntumaster Ready活动Leader 19.03.12

    7qu9kiprcz7oowfk2ol31k1mx ubuntuslave就绪激活19.03.13

  • 然后从VM1部署nginx服务,如下所示:

    sudo docker服务创建-d--名称myweb1--模式全局-p9090:80 nginx:1.19.3

  • 服务状态:

    sudo docker服务ls

  • ID NAME模式副本映像端口

    e1o9cbm3e0t myweb1全球2/2 nginx:1.19.3*:9090->80/tcp

  • 服务详情:
  • sudo docker service ps zf6kfw7aqhag

    ID NAME图像节点所需状态当前状态错误端口

    egd8oliwngf3 myweb1.ogka7rdjohri9elcbjjcpdlbp nginx:1.19.3 ubuntumaster在14分钟前运行

    1o4q8dlt94jj myweb1.7qu9kiprcz7oowfk2ol31k1mx nginx:1.19.3 ubuntuslave在14分钟前运行

  • 现在,我可以使用URL:
    192.168.0.106:9090
    localhost:9090
    从VM1访问nginx。但我无法使用URL:
    192.168.0.105:9090
    localhost:9090
    从VM2访问nginx。我的理解是,nginx在两个vm上都运行,并且可以在两个vm上访问

  • 在两个VM1中,我都可以看到nginx容器正在运行

  • VM1:

    sudo docker容器ls

    CONTAINER ID IMAGE命令创建的状态端口名称

    7a4e13e49dfd nginx:1.19.3“/docker entrypoint….”16分钟前上升15分钟80/tcp myweb1.ogka7rdjohri9elcbjjcpdlbp.egd8oliwngf35wwwpjcieew323

    VM2:

    sudo docker容器ls

    CONTAINER ID IMAGE命令创建的状态端口名称

    999062110f0 nginx:1.19.3”/docker entrypoint….“16分钟前启动16分钟80/tcp myweb1.7qu9kiprcz7oowfk2ol31k1mx.1o4q8dlt94j4uufysnhbamd

    如果我有任何错误,请指导我

    蒂亚


    Deb

    问题解决了!这是一个知识产权冲突的问题。重新启动整个系统,包括VM和路由器,以解决此问题