Coolify 滚动更新
滚动更新使 Coolify 能够通过启动新容器并优雅地停止当前运行的容器来无缝更新您的应用程序。
这种方法最大限度地减少了停机时间,并确保您的服务在更新期间保持可用。
滚动更新的工作原理
当启动新更新时,Coolify 会在现有容器继续运行的同时启动新的容器实例。
一旦新容器被确认健康,旧容器就会被停止。这个过程被称为滚动更新,有助于减少服务中断。
滚动更新的条件
要使滚动更新正常工作,必须满足以下条件:
健康检查配置:必须配置有效的健康检查并且检查通过。
- 健康检查确保新容器在旧容器终止前完全准备好处理流量。
- 没有正确的健康检查,滚动更新过程无法验证容器的就绪状态,可能导致失败。
默认容器命名:滚动更新需要使用默认的容器命名约定。
- 如果您设置了自定义容器名称,更新过程可能无法正确管理容器实例,这可能会阻止滚动更新按预期执行。
非 Docker Compose:基于 Docker Compose 的部署不支持滚动更新。
- Docker Compose 部署使用静态容器名称,更新过程可能无法正确管理容器实例,这可能会阻止滚动更新按预期执行。
端口映射:如果端口映射到主机,新容器在更新过程中无法绑定到相同的端口。
- 这可能会在尝试将流量路由到新容器而旧容器仍在运行时导致冲突,从而阻止滚动更新成功完成。
配置健康检查
为确保滚动更新成功,请验证您的应用程序是否包含健康检查端点。
当容器正常运行时,此端点应返回成功响应(例如 HTTP 200)。有关如何为应用程序配置健康检查的更多详细信息,请参阅我们的健康检查指南。
滚动更新故障排除
如果您遇到滚动更新问题,请考虑以下步骤:
验证健康检查配置:确保您的健康检查端点已正确实现并返回有效响应。失败或配置错误的健康检查将中断更新过程。
检查容器命名:确认您正在使用默认的容器命名约定。如果设置了自定义容器名称,滚动更新将无法正常工作。
查看日志:查看
coolify-proxy容器或应用程序容器的日志,寻找与更新过程相关的任何错误消息。这可能会提供更多关于阻止滚动更新成功完成的原因的见解。
