VirtualBox环境下搭建3节点Docker Swarm集群的高效方法咨询
Docker Swarm 3节点集群搭建指导
你提到的「额外启动2台Ubuntu虚拟机、安装Docker Engine、配置网络后执行Swarm集群命令」是当前官方推荐的标准可行方案,完全可以正常落地。除此之外也有更适合测试场景的轻量快速方案,具体说明如下:
标准生产/测试通用搭建步骤
前置准备
不需要从头安装2台新系统,可以直接基于你已经配置好Docker的node-1虚拟机做克隆,能节省系统安装、Docker部署的时间,克隆完成后做以下基础配置:
- 修改2台新虚拟机的主机名分别为
node-2、node-3,避免主机名冲突 - 刷新2台虚拟机的IP地址,确保3台节点处于同一内网网段,两两之间可以互相ping通
- 3台节点都开放以下Swarm所需端口:2377/tcp(集群管理通信)、7946/tcp/udp(节点发现)、4789/udp(Overlay网络流量),如果开启了ufw防火墙可以用
ufw allow命令对应放通
集群初始化
- 在
node-1上执行Swarm初始化命令,替换为node-1的实际内网IP:
docker swarm init --advertise-addr <node-1的内网IP>
命令执行完成后会输出工作节点的加入指令,格式如下,记得复制保存:
docker swarm join --token <生成的工作节点token> <node-1的内网IP>:2377
- 分别登录
node-2、node-3,执行刚才复制的加入命令,执行完成后返回node-1运行docker node ls,如果能看到3个节点的信息,说明集群搭建完成。
快速测试专用方案
如果只是临时调研Swarm功能,不想多开虚拟机占用资源,可以直接在单台node-1上用Docker in Docker(DinD)的方式模拟3个节点,整个过程只需要3-5分钟:
- 提前在node-1上安装好docker-compose
- 编写配置文件启动3个带独立Docker环境的DinD容器,分别作为管理节点和工作节点
- 按照上面的集群初始化、节点加入流程操作即可,所有功能和虚拟机节点完全一致,适合快速验证Swarm的编排能力。
注意:Docker Machine已官方弃用,不建议再使用该工具做节点部署。
内容的提问来源于stack exchange,提问作者The Owl
相关产品推荐
相关产品推荐

