请帮我解决这个问题,
群集模式下的覆盖网络允许跨节点容器能够在同一网络上看到彼此 是对的吗?
所以,如果我有以下设置:
depends_on: - CM:target
我可以从CM获得ping target
吗?如果没有,为什么?
的演示: 的
docker stack deploy -c test.yml test
其中test.yml
如下:
version: "3"
services:
CM:
image: alpine
command: sh -c 'ping CW'
depends_on:
- CW
networks:
- OVNET
deploy:
placement:
constraints:
- node.role == manager
CW:
image: alpine
command: sh -c 'ping localhost'
networks:
- OVNET
deploy:
placement:
constraints:
- node.role == worker
networks:
OVNET:
driver: overlay
提前提醒!
答案 0 :(得分:2)
是的,它可以像您期望的那样工作。首先创建网络,然后根据约束放置容器。我希望CM的第一个实例可能会失败,因为CW需要时间来拉动图像,但之后就可以正常工作了。同一覆盖网络上的容器可以通过内置DNS上的服务名称相互通信。