Docker - 创建Swarm
1. 准备
我们需要:
- Docker Engine 1.12 or later installed
- the IP address of the manager machine
- open ports between the hosts
需要以下端口:
TCP port 2377 for cluster management communications
TCP and UDP port 7946 for communication among nodes
TCP and UDP port 4789 for overlay network traffic
2. 创建Swarm
查看当前 host 的 IP:
创建一个新的Swarm
$ docker swarm init --advertise-addr <MANAGER-IP>

在创建 Swarm 的同时,生成了管理节点 (manager)
--advertise-addr 将管理节点的地址发布为:172.17.0.1.其他工作节点如果要链接过来,需要确保它们能访问管理节点。
查看 Swarm 的信息
--advertise-addr
$ docker info
查看 docker 节点信息
$ docker node ls
“*” 标识当前连接的节点
3. 为 Swarm 添加 worker 节点
在 Manager node 所在的 host上面运行 CMD
$ docker swarm join-token worker
在 Worker node 所在的 host 上面 运行 CMD
$ docker swarm join \
--token SWMTKN-1-5navvuqvscrredmgo6x9ovsy5kbf81a5mzbmipydgfuelo0wg5-cjirzq0zm2eu5uvmi2u9p27je \
172.100.1.12:2377
注意:在做集群之前,必须确保以下事情!!! 重要事情说三遍~~~
1. Docker监听远程端口实现远程调用API
$ vim /lib/systemd/system/docker.service
添加以下内容
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
重新Load并且重启Docker程序
$ systemctl daemon-reload
$ service docker restart
2. 解决docker info报错docker bridge-nf-call-iptables is disabled办法
$ vim /etc/sysctl.conf
添加如下内容
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-arptables = 1
3. 重启机器
shutdow -r now
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现