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

posted @   TonyZhang24  阅读(416)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示