【发布时间】:2018-05-31 10:16:55
【问题描述】:
我创建了一项服务并将其公开为仅在我的一个 docker swarm 节点中的本地主机上运行,但我可以很容易地公开访问该服务。
我已经删除并重新部署了 docker 堆栈,但仍然是同样的问题。
这是我用来在堆栈中部署服务的 docker-compose.yml
version: "3"
networks:
api-net:
ipam:
config:
- subnet: 10.0.10.0/24
services:
health-api:
image: myprivateregistry:5000/healthapi:qa
ports:
- "127.0.0.1:9010:9010"
networks:
- api-net
depends_on:
- config-server
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
我没有添加它所依赖的服务,因为我认为这不是问题。
很少有人说它在 docker swarm 模式下不受支持。比那种情况下的解决方案是什么。
【问题讨论】:
-
我在使用 Swarm 模式时遇到了完全相同的问题。
-
edit:@gesellix 的回答是正确的,出于某种原因,最初它似乎只绑定到 localhost,但不幸的是它实际上在所有主机接口上都可用。
-
@Dmitri 在集群模式下不支持。
标签: docker docker-compose docker-swarm