【问题标题】:Cannot access service on overlay network by IP of manager node(Swarm)无法通过管理器节点(Swarm)的 IP 访问覆盖网络上的服务
【发布时间】:2022-06-17 13:35:07
【问题描述】:

我设置了 3 个集群节点。一名经理和两名工人。 我已经使用这个命令创建了服务 sudo docker service create --name drupal_new --network my_overlay -p 81:80 drupal

结果服务在其中一个工作节点上启动。 ID 名称模式副本图像端口 gsosn4xgv4fk drupal_new 复制 1/1 drupal:latest *:81->80/tcp

ID 名称 图像节点 期望状态 当前状态 错误端口 qt7y5xj4or3k drupal_new.1 drupal:latest docker_test3 Running Running 24 hours ago

我可以通过工作节点的 IP 地址访问 drupal 服务,但我不能从管理节点的 IP 地址访问。谁能建议可能是什么原因?

方案

【问题讨论】:

    标签: docker overlay docker-swarm


    【解决方案1】:

    案例 1

    检查管理节点的开放端口,“nodes”包括管理节点。

    以下端口必须可用。在某些系统上,这些端口默认是打开的。

    TCP port 2377 for cluster management communications
    TCP and UDP port 7946 for communication among nodes
    UDP port 4789 for overlay network traffic
    

    如果端口未开放,请在开放后重新初始化swarm集群

    案例2

    ip a查看管理节点是否有[docker_gwbridge]。

    如果这个网络不可用,此时有两种解决方案

    1. 你是否设置了【放置约束】?设置管理节点为合格节点,那么网络应该会自动创建
    2. 或者您可以手动创建 [docker_gwbridge]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-22
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      相关资源
      最近更新 更多