gpt4 book ai didi

Docker Swarm 服务在一段时间后无法在不同节点上访问

转载 作者:行者123 更新时间:2023-12-01 00:31:02 26 4
gpt4 key购买 nike

问题

我有一个在覆盖网络中的 Docker Swarm 中运行的服务,我是这样开始的:

docker service create \
--name db-master \
--label type=database \
--constraint "engine.labels.type == database" \
--network starnet \
--mount type=bind,source=/var/lib/mysql,target=/var/lib/mysql \
-e MYSQL_ALLOW_EMPTY_PASSWORD=yes \
percona:5.6.32

该服务启动正常,并且可以从不同的服务内部按预期访问,在集群中的不同节点上运行——只有在安全组上打开“所有流量”时(我在 AWS 上)

如果仅打开必要的端口(2377、4789、7946),则无法从其他节点上的其他服务访问上面的 db-master 服务。

我的设置详情

  • 我在 UDP 和 TCP 子网中打开了以下端口:2377、4789、7946
  • 运行 ubuntu 16.04 LTS
  • 运行 Docker 1.12.2

我尝试过的

  • 开放3306端口,只为偷笑
  • 打开所有 TCP 端口
  • 打开所有 UDP 端口
  • 打开 ICMP

踢球者

尽管打开所有 UDP 和 TCP 端口没有任何区别,但如果我打开“所有流量”,它会立即开始工作。

显然,这表明节点之间没有打开某些东西,但看到我如何尝试单独和一起打开所有 UDP 和 TCP 端口,我正在努力弄清楚这可能是什么。

最佳答案

事实证明,除了记录的端口外,您还需要打开一个名为 ECP 的自定义协议(protocol)(协议(protocol) 50 作为 AWS 安全组中的“自定义协议(protocol)”)。

必须提交错误报告才能得到答案,但至少现在它会被添加到文档中:)

关于Docker Swarm 服务在一段时间后无法在不同节点上访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40044314/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com