3

使用 spring 初始化器创建了一个微服务应用程序并使用 docker 部署。

为了推出最新的更改,使用最新的代码更改创建 docker 映像

docker stack deploy -c stack.yml mystack

应用程序正在运行 2 个副本。使用 docker service update 更新服务。

docker service update --force service-name

任何人都可以帮助我提供示例堆栈和最佳实践来部署零停机时间。

4

1 回答 1

1

你可以在这里找到很好的文字 https://blog.capstonec.com/2018/06/28/zero-downtime-deployment-with-docker-rolling-updates/

以下是 Docker 参考文档的摘录,可在以下位置找到: https ://docs.docker.com/compose/compose-file/#update_config 。

  • 并行度:一次更新的容器数量。
  • delay:更新一组容器之间的等待时间。
  • failure_action:如果更新失败怎么办。继续、回滚或暂停之一(默认值:暂停)。
  • monitor:每次任务更新后监控失败的持续时间(ns|us|ms|s|m|h)(默认 0s)。
  • max_failure_ratio:更新期间容忍的失败率。
  • order:更新期间的操作顺序。stop-first(旧任务在开始新任务之前停止)或 start-first(新任务先启动,正在运行的任务会短暂重叠)之一(默认 stop-first) 注意:仅支持 v3.4 和更高。
于 2019-06-04T14:21:00.510 回答