10 分钟搭建 4 节点 Linux+Windows 混合 Docker Swarm 集群:docker-windows-box 自动部署与 overlay 网络 whoami 演示
2026/9/19 5:27:30 网站建设 项目流程

10 分钟搭建 4 节点 Linux+Windows 混合 Docker Swarm 集群:docker-windows-box 自动部署与 overlay 网络 whoami 演示

【免费下载链接】docker-windows-boxVarious Vagrant envs with Windows 2019/10 and Docker, Swarm mode, LCOW, WSL2, ...项目地址: https://gitcode.com/gh_mirrors/do/docker-windows-box

docker-windows-box 是一套开箱即用的 Vagrant 环境集合,专注 Windows 容器与 Docker 场景。本教程带你用一条vagrant up命令自动搭建 4 节点 Linux+Windows 混合 Docker Swarm-mode 集群,并通过 overlay 网络上的 whoami 服务直观验证跨操作系统负载均衡,是新手上手混合 Swarm 的完整指南 🚀

一、为什么用 docker-windows-box 搭建混合 Swarm 集群

手工搭建一个 Linux + Windows Server 的 Swarm 集群,你需要分别处理:

  • Linux 节点安装 Docker Engine 并执行swarm init
  • Windows 节点更新 Docker EE Preview、放行 2377/7946/4789 等 Swarm 端口
  • 生成 join token、按顺序让各节点加入集群
  • 配置 overlay 网络与端口转发

docker-windows-box 的swarm-mode目录把这些步骤全部封装成了 provisioning 脚本,一条命令完成全部工作。项目内还提供了 WSL2、LCOW、经典 Swarm 等多种其他 Windows 容器场景可参考。

二、一键部署 4 节点集群

1. 准备工作

  • 安装 Vagrant 与 VirtualBox 或 VMware(Fusion/Workstation)
  • 内存建议 12GB 以上(每节点 2GB)
  • 进入项目目录:
git clone https://gitcode.com/gh_mirrors/do/docker-windows-box cd docker-windows-box/swarm-mode

2. 启动集群

vagrant up

Vagrant 会自动创建 4 台虚拟机、安装 Docker、初始化 Swarm 并让节点加入集群,全程无需人工干预。

3. 集群节点与角色一览

节点IP 地址内存角色
sw-lin-01192.168.36.22GBManager
sw-lin-02192.168.36.32GBWorker
sw-win-01192.168.36.42GBWorker
sw-win-02192.168.36.52GBWorker

4. 资源有限?启动最小 2 节点集群

宿主机内存吃紧时,只需 1 台 Linux + 1 台 Windows 也能体验混合集群:

vagrant up sw-lin-01 sw-win-01

三、4 个节点如何自动组成 Swarm

1. Manager 节点自动初始化

sw-lin-01 启动后,Vagrantfile 按顺序执行swarm-mode/scripts/install-docker.sh(安装 Docker Engine)和swarm-mode/scripts/docker-swarm-init.sh(执行docker swarm init),随后由swarm-mode/scripts/run-visualizer.sh在 Manager 上自动部署可视化面板。

2. Windows 节点自动放行端口并加入集群

两台 Windows 节点会依次执行swarm-mode/scripts/fix-second-network.ps1配置静态 IP、swarm-mode/scripts/open-swarm-mode-ports.ps1放行 Swarm 必需的 2377(集群管理)、7946(节点通信)、4789(overlay 网络 UDP)端口,最后由swarm-mode/scripts/docker-swarm-join.ps1向 Manager 申请 token 并加入集群。

SSH 登录任一节点执行docker node ls,即可看到全部节点就绪(sw-win-01 为 Leader):

四、用 Visualizer 直观验证混合集群

集群启动后 Manager 节点已自动部署了 Swarm Visualizer 服务,浏览器打开http://192.168.36.2:8080,可以一眼看到 4 个节点及其上的任务分布——2 台 Linux + 2 台 Windows 的混合集群一目了然:

五、overlay 网络 whoami 服务演示 🎯

这是本环境最精彩的实验:同一服务的副本同时跑在 Linux 和 Windows 上,通过 overlay 网络跨 OS 互相访问。

1. 创建 whoami 服务

登录 Manager 节点后只需一条命令,或使用辅助脚本swarm-mode/demo/start-whoami.sh

docker service create --name=whoami -p 8000:8000 -e PORT=8000 stefanscherer/whoami:1.2.0

2. 用 curl 验证跨平台负载均衡

在宿主机上每 0.5 秒请求一次该服务(可运行swarm-mode/demo/curl-whoami.sh),注意观察响应——容器 ID 后面的linux/amd64windows/amd64交替出现,说明请求被轮询分发到了不同操作系统的节点:

curl http://192.168.36.2:8000

3. 横向扩展到 4 副本

docker service scale whoami=4

Swarm 调度器会自动把 4 个副本分配到不同节点。配合 Visualizer 观察任务分布,就能理解混合集群中node.platform.OS这一平台约束如何工作。

六、常见问题与小结

  • Windows 节点启动较慢:Windows Server 镜像初始化与端口配置耗时较长,耐心等待 provisioning 完成即可
  • 验证集群:登录 Manager 执行docker node ls,所有节点 STATUS 为 Ready 即表示成功
  • 清理环境vagrant destroy -f一键销毁全部节点

docker-windows-box 把混合 Swarm 集群最繁琐的多系统编排全部脚本化,让你把精力花在理解 Swarm 与 overlay 网络上。从vagrant up到 curl 验证跨 OS 负载均衡,不到 10 分钟即可完成——建议动手试试,实践是最好的老师 💪

【免费下载链接】docker-windows-boxVarious Vagrant envs with Windows 2019/10 and Docker, Swarm mode, LCOW, WSL2, ...项目地址: https://gitcode.com/gh_mirrors/do/docker-windows-box

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询