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

如何在WSL 2中配置Docker Swarm模式?解决节点加入报错

WSL 2 下 Docker Swarm 模式配置及节点加入问题解决

先解决当前节点重复加入Swarm的错误

  • 在提示错误的worker节点执行命令退出现有Swarm:
    docker swarm leave
    
    若该节点曾是管理节点,需添加--force参数强制退出:
    docker swarm leave --force
    
  • 退出后重新执行管理节点生成的worker加入命令即可。

WSL 2 使用Docker Swarm的关键配置

1. 保证节点Docker环境独立(多节点场景)

搭建多节点Swarm时,不要让多个WSL2实例共享Windows Docker Desktop的daemon,每个WSL2发行版需单独安装Docker引擎,才能作为独立的Swarm节点。

2. 配置WSL 2静态IP(避免IP变动导致Swarm通信失败)

WSL2默认IP会随重启变化,需设置静态IP:

  • 编辑/etc/wsl.conf,禁用自动生成网络配置:
    [network]
    generateResolvConf = false
    
  • 编辑网络配置文件(以Ubuntu为例,路径为/etc/netplan/00-installer-config.yaml),写入静态IP配置:
    network:
      ethernets:
        eth0:
          addresses: [192.168.100.10/24] # 自定义静态IP,需和Windows子网段匹配
          gateway4: 192.168.100.1 # Windows的WSL2网关IP,可通过`ip route`查看
          nameservers:
            addresses: [8.8.8.8, 1.1.1.1]
      version: 2
    
  • 执行命令生效配置:
    sudo netplan apply
    
  • 重启WSL2(Windows终端执行wsl --shutdown后重新打开)。

3. 初始化Swarm时指定静态IP

在管理节点初始化Swarm时,必须指定自己的静态IP,否则默认会用127.0.0.1,导致worker节点无法连接:

docker swarm init --advertise-addr <你的静态IP>

执行后生成的worker加入命令会包含该静态IP,确保worker节点能正常访问。

4. 确保节点间网络互通

  • 在worker节点ping管理节点的静态IP,确认能正常通信。
  • 检查Windows防火墙,放行Swarm所需端口:2377/tcp(集群管理)、7946/tcp/udp(节点间通信)、4789/udp(Overlay网络数据)。

内容的提问来源于stack exchange,提问作者Swastik

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 17:00:16