利用 Docker Swarm 编排分布式解决方案
1. 零停机部署更新
Docker Swarm 具备两个特性,可实现整个堆栈的更新而不造成应用程序停机,即滚动更新和节点排空。
- 滚动更新 :当你要发布组件的新版本时,滚动更新会用新镜像的新实例替换应用程序容器。更新是分阶段进行的,所以只要你有多个副本,在其他任务升级时,总会有任务运行以处理请求。
- 节点排空 :除了频繁的应用程序更新,有时还需要更新主机,例如升级 Docker 或应用 Windows 补丁。Docker Swarm 支持排空节点,即停止节点上运行的所有容器,且不再调度新容器。如果节点排空时任何服务的副本级别下降,会在其他节点上启动任务。更新完主机后,可将其重新加入集群。
2. 更新应用程序服务
假设已有一个在 Docker Swarm 上运行的堆栈,现在要部署一个应用程序更新,即一个重新设计 UI 的新主页组件,已构建为 dockeronwindows/ch07-nerd-dinner-homepage:2e 。为进行更新,使用一个新的 Docker Compose 覆盖文件,内容如下:
version: '3.7'
services:
nerd-dinner-homepage:
image: dockeronwindows/ch07-nerd-dinner-homepage:2e
更新步骤如下:
1. 生成新的应用程序清单
超级会员免费看
订阅专栏 解锁全文
73

被折叠的 条评论
为什么被折叠?



