Coolify logoCoolify

Coolify 滚动更新

滚动更新使 Coolify 能够通过启动新容器并优雅地停止当前运行的容器,从而无缝更新您的应用。

这种方法将停机时间降至最低,并确保在更新期间服务保持可用。

滚动更新的工作原理

当启动新更新时,Coolify 会启动一个新的容器实例,同时现有容器继续运行。

一旦确认新容器健康,旧容器将被停止。此过程称为滚动更新,有助于减少服务中断。

滚动更新的条件

要使滚动更新正常运行,必须满足以下条件:

  • 健康检查配置: 必须配置并通过有效的健康检查。

    • 健康检查确保在终止旧容器之前,新容器已完全准备好处理流量。
    • 如果没有适当的健康检查,滚动更新过程无法验证容器的就绪状态,可能导致失败。
  • 默认容器命名: 滚动更新需要使用默认的容器命名约定。

    • 如果设置了自定义容器名称,更新过程可能无法正确管理容器实例,从而导致滚动更新无法按预期执行。
  • 不应使用 Docker Compose: 滚动更新不支持基于 Docker Compose 的部署。

    • Docker Compose 部署使用静态容器名称,更新过程可能无法正确管理容器实例,从而导致滚动更新无法按预期执行。
  • 端口映射: 如果端口映射到宿主机,新容器在更新过程中无法绑定同一端口。

    • 当旧容器仍在运行时尝试将流量路由到新容器时,这可能会导致冲突,从而阻止滚动更新成功完成。

配置健康检查

为确保滚动更新成功,请验证您的应用是否包含健康检查端点。

当容器正常运行时,该端点应返回成功响应(例如 HTTP 200)。有关为您的应用配置健康检查的更多详细信息,请参阅我们的健康检查指南.

滚动更新故障排除

如果您在滚动更新中遇到问题,请考虑执行以下步骤:

  1. 验证健康检查配置: 确保您的健康检查端点已正确实现并返回有效响应。失败或配置不当的健康检查将中止更新过程。

  2. 检查容器命名: 确认您正在使用默认的容器命名约定。如果设置了自定义容器名称,滚动更新将无法按预期工作。

  3. 检查日志: 查看 coolify-proxy 容器或您的应用容器日志,查找与更新过程相关的任何错误消息。这可能会提供有关是什么阻止滚动更新成功完成的额外见解。

On this page