Docker Swarm简介及使用

Docker Swarm简介及使用

1.简介

​Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API,所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。

2.原理

如下图所示,swarm 集群由管理节点(manager)和工作节点(work node)构成。

  • swarm mananger:负责整个集群的管理工作包括集群配置、服务管理等所有跟集群有关的工作。
  • work node :即图中的 available node,主要负责运行相应的服务来执行任务(task)。

3.使用

1.创建 swarm 集群管理节点(manager)

初始化 swarm 集群,进行初始化的这台机器,就是集群的管理节点。

go 复制代码
$ docker swarm init --advertise-addr 192.168

初始化成功后的输出,在增加工作节点时会用到。

2.创建 swarm 集群工作节点(worker)

在worker节点,指定添加至上一步中创建的集群,这里会用到上一步输出的内容。

python 复制代码
$ docker swarm join --token SWMTKN-1-4oogo9qziq768dma0uh3j0z0m5twlm10iynvz7ixza96k6jh9p-ajkb6w7qd06y1e33yrgko64sk 192.168.

3.查看集群信息

python 复制代码
$ docker info

4.部署服务到集群

注意:跟集群管理有关的任何操作,都是在管理节点上操作的。

以下例子,在一个工作节点上创建一个名为 helloworld 的服务,这里是随机指派给一个工作节点:

python 复制代码
$ docker service create --replicas 1 --name helloworld alpine ping docker.com

5.查看服务部署情况

查看 helloworld 服务运行在哪个节点上:

python 复制代码
$ docker service ps helloworld

查看 helloworld 部署的具体信息:

python 复制代码
$ docker service inspect --pretty helloworld

6.扩展集群服务

将上述的 helloworld 服务扩展到俩个节点。

python 复制代码
$ docker service scale helloworld=2

7.删除服务

python 复制代码
$ docker service rm helloworld

8.停止某个节点接收新的任务

停止节点 swarm-worker1:

python 复制代码
$  docker node update --availability drain swarm-worker1

可以通过以下命令重新激活节点:

python 复制代码
$  docker node update --availability active swarm-worker1
相关推荐
Java内核笔记3 分钟前
万字避坑!Spring Boot 3.x 升 4.0 最全升级指南(附 Migration Checklist,建议收藏⭐)
java·后端
cfm_29141 小时前
SpringBoot启动原理
java·spring boot·spring
漫随流水2 小时前
Java——springboot web案例
java·开发语言·spring boot
从此以后自律2 小时前
Java Object 类常用方法全讲解
java·开发语言
念何架构之路2 小时前
Docker 容器状态机 学习
java·学习·docker
你有我备注吗2 小时前
SQL学习之查询
java·sql·学习
xixi09243 小时前
JMeter5.6.3基础使用教程1
java·开发语言
带刺的坐椅3 小时前
用 Solon ReActAgent 落地发票识别与智能报销
java·llm·solon·react-agent
罗超驿3 小时前
15.Java异常处理:从束手无策到从容应对
java·开发语言
Co_Hui3 小时前
Java 基础
java·开发语言