Docker Swarm滚动更新回滚服务

Posted caoweixiong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker Swarm滚动更新回滚服务相关的知识,希望对你有一定的参考价值。

 

滚动更新、回滚服务

默认情况下, swarm一次只更新一个副本,并且两个副本之间没有等待时间,我们可以通过:

--update-parallelism:设置并行更新的副本数量。
--update-delay: 指定滚动更新的时间间隔。
  •  创建8个副本的masl服务:
技术图片
docker service create --name masl -e TZ="Asia/Shanghai" --network mrp_net --replicas 8 -p 8081:8080 
--update-delay 10s             #每次更新间隔10s
--update-parallelism 2           #每次允许两个服务一起更新
--update-failure-action continue     #更新失败后的动作是继续
--rollback-parallelism 2          #回滚时允许两个一起
--rollback-monitor 20s           #回滚监控时间20s
--rollback-max-failure-ratio 0.2     #回滚失败率20%
172.16.99.2:40305/masl:dev-yc-34
技术图片
  • 查看配置信息:

技术图片

  • 滚动更新1:
docker service update --image 172.16.99.2:40305/masl:dev-yc-35 masl

技术图片

  • 滚动更新2:

如果在创建服务时没有指定更新策略,也可以在更新的时候指定

docker service update --image 172.16.99.2:40305/masl:dev-yc-35 --update-parallelism 2 --update-delay 1m masl

注:两个服务一起更新,然后,隔一分钟,继续更新

  • 回滚服务:
docker service update --rollback masl

注:默认只能回滚到上一次操作的状态,并不能连续回滚到指定操作

 

以上是关于Docker Swarm滚动更新回滚服务的主要内容,如果未能解决你的问题,请参考以下文章

Swarm平滑升级回滚

DockerDocker swarm集群管理(部署集群创建服务监控服务负载均衡滚动更新Portainer可视化)

docker swarm ,滚动更新

Docker Swarm

Docker swarm没有更新服务

运维实战 容器部分 Docker Swarm