Docker 在单个节点上滚动更新

Docker rolling updates on a single node

所以我在开发环境中使用 dockerdocker-compose 已经有一段时间了,我喜欢它的简单性。

直到现在,我还使用 docker-compose 在我自己的服务器上提供我的应用程序,因为我可以承受像 docker-compose restart 这样的短停机时间。

但是在我当前的项目中,我们需要滚动更新。

我们还有一个节点,它将保留,因为我们不打算在相当长一段时间内出现可伸缩性问题。

我读到我需要使用 docker swarm,很好,但是当我寻找一些关于如何设置它的教程以及如何使用我的 docker-compose.yml 文件时,我找不到任何面向开发人员(而不是 devops)的资源,它们会简单地告诉我实现这一目标的步骤,即使我不了解一切也没关系,因为我会一路走来。

是否有任何教程可以帮助您了解如何进行设置?如果没有,我们不应该在这里建造它吗?

我确信我们有很多人遇到这个问题,因为 docker 现在是开发人员的必备工具,但我们(开发人员)仍然不想深入到 devops 世界.

干杯,希望它得到关注而不是批评。

在多次尝试 docker swarm 之后,我确实在并发和编排问题上苦苦挣扎,因此我决定坚持使用我更喜欢的 docker-compose

以下是我实现滚动更新的方法:https://github.com/docker/compose/issues/1786#issuecomment-579794865

虽然观察者告诉我这与 swarm 默认情况下的策略类似,但它实际上工作得很好。

所以我想我的大部分问题都通过删除节点复制而消失了。

等我有空的时候,我再试试 swarm。现在,compose 对我来说做得很好。