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
相关推荐
M--Y1 小时前
Docker镜像与仓库管理详解
docker·容器
starzy19902 小时前
虚拟化解决方案全景:软件虚拟化、硬件虚拟化与 Docker 的位置
运维·docker·容器
zww89491112 小时前
匿名树洞系统开发实战:从需求分析到部署指南
java·eclipse
黑马程序员毕设3 小时前
基于Java的医院药品管理系统的优化设计与实现
java·开发语言·spring boot·小程序·架构·课程设计·毕设
木井巳3 小时前
【BFS/DFS 解决 FloodFill 算法】太平洋大西洋水流问题
java·算法·leetcode·深度优先·广度优先·宽度优先·推荐算法
白山编程大哥4 小时前
Java 集合算法:从排序、查找到底层原理的实战指南
java·python·算法
devpotato4 小时前
缓存与数据库更新顺序不一致问题
java·数据库·redis
xcl09254 小时前
酒馆预约系统开发实战:从需求分析到上线全流程指南
java·spring boot·需求分析
Kyrie_kk4 小时前
Java--IO--Path文件访问
java·后端
qinqinzqq4 小时前
Maven POM 格式、Schema 与 XSD:一篇讲透
java·maven