Docker 1.12 Swarm Overlay网络发布端口

时间:2016-08-22 02:49:36

标签: docker docker-swarm

我正在尝试在Docker 1.12上运行一个相当简单的swarm示例:

我有两项服务:

drupalapp     mastermindg/rpi-apache2php7  
drupaldb      mysql:latest

Drupalapp发布了80号端口:

"Endpoint": {
        "Spec": {
            "Mode": "vip",
            "Ports": [
                {
                    "Protocol": "tcp",
                    "TargetPort": 80,
                    "PublishedPort": 80
                }
            ]
        },
        "Ports": [
            {
                "Protocol": "tcp",
                "TargetPort": 80,
                "PublishedPort": 80
            }
        ],
        "VirtualIPs": [
            {
                "NetworkID": "5citix4eeoe9isd2ainbt2uvn",
                "Addr": "10.255.0.7/16"
            },
            {
                "NetworkID": "6lgv0o648l7inrbu6abh5ac79",
                "Addr": "10.0.9.4/24"
            }
        ]
    },

我有一个覆盖网络:

swarmed       "Subnet": "10.0.9.0/24",
                "Gateway": "10.0.9.1"

drupalapp实例已启动且稳定。

我的问题是,即使我看到端口80在每个节点上侦听,但我无法在任何主机上访问端口80。

如何连接我的swarm上运行的drupalapp?

1 个答案:

答案 0 :(得分:2)

(将评论转换为答案)

在1.12中报告了有关服务发现和发布端口失败的几个问题。 Pull request #25603似乎修复了一堆,并且包含在1.12.1 released last week中。请注意,即使在1.12.1中,issue #24789中的某些用户仍然会报告问题,因此可能仍有一些边缘情况需要解决。