You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

跨多云提供商(DigitalOcean、Azure)部署Docker Swarm集群可行性问询

跨云部署Docker Swarm集群的可行性解答

当然可以!Docker Swarm本身就是为分布式集群场景设计的,不管你的虚拟机在DigitalOcean还是Azure,只要满足几个核心条件,就能把它们纳入同一个Swarm集群。

核心前提条件

  • 两台机器必须能通过公网IP互相访问,并且要在云服务商的防火墙/安全组里开放Swarm必需的端口:
    • 2377/tcp:集群管理节点之间的通信端口
    • 7946/tcp 和 7946/udp:节点间成员发现与gossip协议通信端口
    • 4789/udp:Overlay网络的数据传输端口
  • 两台机器的Docker版本要保持一致,优先选择最新的稳定版,避免版本兼容问题
  • 所有节点都要启用Docker Swarm模式(默认是开启状态,除非你手动关闭过)

快速操作步骤

  1. 先在其中一台机器(比如DigitalOcean的虚拟机)上初始化Swarm集群,记得指定公网IP:
docker swarm init --advertise-addr <你的公网IP>
  1. 执行完上面的命令后,终端会输出一条docker swarm join的命令,里面包含了集群的token和管理节点的公网地址
  2. 把这条join命令复制到Azure的虚拟机上执行,等待几秒就能完成节点加入

额外注意事项

  • 一定要检查云服务商的安全组规则:DigitalOcean的防火墙、Azure的网络安全组都需要单独配置开放上述端口,这是最容易踩坑的地方
  • 如果你的机器有内网IP,但跨云环境下内网通常无法互通,所以必须用公网IP进行Swarm节点通信
  • 可以给节点添加自定义标签,方便后续服务调度时指定云服务商节点,比如:
docker node update --label-add cloud=digitalocean <节点ID>

内容的提问来源于stack exchange,提问作者paul van bladel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:02:02