在 manager 上执行如下命令:
--replicas 标签来声明 2 个运行实体
查看服务:
从上图可以看到 web2 名称的 service 有 2 个副本分别运行在 node2 和 node3 节点上。
以全局服务类型运行服务
从下图可以看到服务 web4 在每个节点上都运行一个
下面我们扩展旧的服务,从下图可以看到 web1 service 目前只有一个副本
扩展已有的服务的副本数,这里将 web1 服务扩展到 3 个副本
缩减已有的服务的副本数,这里将 web1 服务缩减到 2 个副本
Swarm 节点是自组织(self-organizing)和自修复(self-healing)的,什么意思?只要有节
点或容器宕掉,swarm engine 就会尝试修复,下面我们来具体看一下
自修复(self-healing)
经过上面的操作之后,我们有以下 3 个节点:
运行着 3个服务共 7 个任务(容器)
Node1 节点上运行着容器 2 个容器还有一个私有仓库注册服务器容器
Node2 节点上运行着容器 3 个容器
Node3 节点上运行着容器 2 个容器
现在我们让 node3 上的容器都宕掉或部分宕掉
一旦 node3 上所有容器停止,Docker 就会试图在相同的节点上启动 2 个不同 ID 的容器。
这就是 Docker Swarm Engine 的 self-healing 功能。
在 node3 节点上执行 docker ps 查看
Self-Organizing
现在我们让 node3 整个宕掉,node3 上的容器会自动在其它节点上启动。
在 manager 节点上执行 docker server ps 服务名

◆◆0
发表评论