千家信息网

搭建Swarm群集

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,一、Swarm简介Swarm项目,通过把多个Docker Engine聚集在一起,形成一个打的docker-engine,对外提供容器的群集服务。同时,这个群集对外提供Swarm API,用户可以像使
千家信息网最后更新 2026年10月31日搭建Swarm群集

一、Swarm简介

Swarm项目,通过把多个Docker Engine聚集在一起,形成一个打的docker-engine,对外提供容器的群集服务。同时,这个群集对外提供Swarm API,用户可以像使用Docker Engine一样使用Docker群集。
Swarm是个一套较为简单的工具,用以管理Docker群集,使得Docker群集暴露给用户时相当于一个虚拟的整体。Swarm使用标准的Docker API接口作为其前端访问入口,换言之,各种形式的Docker Client(dockerclient in go,docker_py,docker等)均可以直接与Swarm通信,Swarm几乎全部用Go语言来完成开发的。

二、Swarm工作原理

1、Swarm
群集的管理和编排是使用嵌入到Docker引擎的SwarmKit,可以在Docker初始化时启动Swarm模式或者加入已存在的Swarm
2、Node
一个节点(node)是已加入到swarm的Docker引擎的实列当部署应用到集群,你将会提交服务定义到管理节点,接着Manager管理节点调度任务到worker节点,manager节点还执行维护集群的状态的编排和群集管理功能,work节点接收并执行来自manager节点的任务。通常,manager节点也可以是worker节点,work节点会报告当前状态给manager节点。
3、服务(Service)
服务是要在work节点上要执行任务的定义,它在工作这节点上执行,当创建服务的时,需要指定容器镜像。
4、任务(Task)
任务是在docker容器中执行的命令,manager节点根据指定数量的任务副本分配任务给work节点。

三、Swarm各个模块的功能

docker swarm:集群管理,子命令由init,join,leave,updata。(docker swarm -help查看帮助)
docker service:服务创建,子命令由create,inspect,update,remove,tasks。(docker service -help查看帮助)
node是加入到swarm集群中的一个docker引擎实体,可以在一台物理机上运行多个node,node分为:
1)Manager node(管理节点):执行集群的管理功能,维护集群的状态,选觉一个leader节点去执行调度任务。
2)Work node(工作节点):接收和执行任务,参与容器集群负载调度,仅用于承载task。
service服务:一个服务是工作节点上执行任务的定义。创建一个服务,制定了容器所使用的镜像和容器运行的命令。
task任务:一个任务 包含了一个容器及其运行的命令。task是service的执行实体,task启动docker容器并在容器中执行任务。

四、swarm部署

1、系统环境
两台centos 7分别对应swarm01和swarm02
swarm01:192.168.80.100
swarm02:192.168.80.110
2、修改主机名

hostnamectl set-hostname swarm01hostnamectl set-hostname swarm02vi /etc/hosts   //分别修改hosts文件

192.168.80.100 swarm01
192.168.80.110 swarm02
3、安装docker(每台都要装)
vi /etc/yum.repos.d/CentOS-Base.repo
末行添加docker的yum源
[docker-repo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
yum install -y docker-engine
4、更改docker的镜像源

mkdir /etc/dockervi /etc/docker/daemon.json

{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
或
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
systemctl daemon-reload //重载配置文件
5、修改docker监听端口
Swarm是通过监听2375端口进行通信的,所以在使用Swarm进行集群管理之前,需要设置一下2375端口的监听。所有主机节点docker开启2375监听,docker版本不同,配置方式不一样。
vi /lib/systemd/system/docker.service
在ExecStart加入:-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

systemctl start docker  //启动dockernetstat -anput | grep 2375  //查看监听端口


6、swarm安装(两台分别安装)

docker pull swarm       //从docker仓库拉取swarmdocker images 查看是否下载成功


docker swarm init --advertise-addr 192.168.80.100 //初始化Swarm
--advertis-addr:swarm中的work节点使用此IP地址与manager联系

上面命令执行后,该机器自动加入到swarm集群。这个会创建一个集群token,获取全球唯一的token,作为集群唯一标识。后续将其他节点加入集群都会用到这个token值。
docker node ls //查看节点,只有本机加入swarm集群

7、添加集群节点
在swaram02机器上执行以下命令

docker swarm join \    --token SWMTKN-1-0mp5blsez01rkhdngyx7qnwapwfaugexq0llasg5t4mlr0rpdj-2i3qqd7ejsl73ga5fqncmeroe \    192.168.80.100:2377


docker node list //在swarm01上查看

8、升级或降级节点(只能在主节点上)

docker node promote swarm02 //将swarm02升级为主节点docker node demote swarm01  //将swarm02降级为工作节点docker node list    //在swarm02上查看


9、创建swarm集群网络(swarm02上)

docker network create --driver overlay skynetdocker network ls  //查看网络


10、swarm部署http(在主节点swarm02上)
docker service create -p 80:80 --name webserver --replicas 4 httpd
--name:服务名称
--replicas:服务副本集个数
-p:端口映射
docker service ls //查看服务列表

docker service ps webserver | grep Running //查看具体服务开启情况

web分别访问192.168.80.100和192.168.80.110


注意:swarm02上并没有部署httpd但是可以访问网页,说明swarm01节点接收了主节点的任务部署。
11、swarm图像化管理(swar02上)

docker pull portainer/portainer //拉取图像化管理镜像docker run -d -p 9000:9000 --restart=always --name prtainer-test portainer/portainer    //启动镜像

Web浏览器访问192.168.80.110:9000




节点 集群 任务 服务 管理 容器 命令 端口 镜像 工作 监听 功能 引擎 状态 调度 运行 主机 副本 图像 多个 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技股 互联网科技公司华为 奇酷互联网络科技 电子科技大学互联网 海南科技产业互联网平台 华中科技有哪些互联网大佬 互联网科技公司的市场部门 安控科技rtu产品工业互联网 央行互联网金融科技公司 互联网为啥属于高科技 武汉健翔互联网络科技有限公司 苏州五指互联网络科技有限 本届互联网博览会上的黑科技 互联网公司黑科技创始人 科技赋能视角下互联网保险发展 领航科技大厦互联网公司 35岁以上互联网科技行业 南京一网一红互联网科技有限公司 广州燕处互联网科技有限公司 杭州融税互联网科技有限公司 互联网科技公司 江苏根荣互联网科技 互联网科技工作委员会毛军 科技互联网政务服务 互联网科技有限公司图片 美国互联网科技巨头监管 四个字互联网科技公司取名 互联网时代科技改变生活 彤创互联网科技有限公司 云鲸互联网络科技有限公司
0