【发布时间】:2021-10-17 02:28:07
【问题描述】:
假设我在swarm中有2个节点(节点1是manager,node2是worker),使用下面的compose来启动
version: "3.9"
services:
app1:
image: app1image
ports:
- 8080:8080
deploy:
mode: global
app2:
image: app2image
ports:
- 9080:9080
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- "node.role==manager"
我的问题是:
- 如果我尝试通过 node1 访问 app1,是否可以将我路由到 node2 中的 app1 容器?
- 由于 app2 只部署到 node1,如果我尝试通过 node2 的 9080 端口访问它,我可以吗?
- 除了 docker 文档引用的端口(用于集群管理通信的 TCP 端口 2377 节点间通信的 TCP 和 UDP 端口 7946 UDP 端口 4789 用于覆盖网络流量)是否还有其他需要打开的端口?就像 app1 想要调用 app2 一样
【问题讨论】:
标签: docker docker-compose docker-swarm docker-swarm-mode