我正在尝试在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?
答案 0 :(得分:2)
(将评论转换为答案)
在1.12中报告了有关服务发现和发布端口失败的几个问题。 Pull request #25603似乎修复了一堆,并且包含在1.12.1 released last week中。请注意,即使在1.12.1中,issue #24789中的某些用户仍然会报告问题,因此可能仍有一些边缘情况需要解决。