健康检查
健康检查是确保应用程序和服务正常运行的一种方式。它们允许 Coolify 监控资源的健康状况,并确保流量仅路由到健康的实例。这对于 滚动更新 正常工作至关重要。
Traefik
当使用 Traefik 作为反向代理时,健康检查是其将流量路由到资源的核心组成部分。
已启用
如果资源的健康检查 已启用,Traefik 仅在健康检查通过时才会将流量路由到该资源。如果健康检查失败,Traefik 不会将流量路由到该资源。
这会导致资源返回 404 未找到 或 无可用服务器 错误。
排查失败的健康检查
如果您遇到“无可用服务器”错误,请查看我们全面的 故障排除指南,其中涵盖了最常见的原因和解决方案。
已禁用
如果资源的健康检查 已禁用,Traefik 将无视健康检查状态,始终将流量路由到该资源。
配置健康检查
应用程序
有两种方式为应用程序配置健康检查:
-
使用 UI:您可以在创建或编辑应用程序时直接在 Coolify UI 中设置健康检查。您可以指定要检查的路径、预期的响应代码以及检查间隔。容器必须安装
curl或wget才能执行健康检查。 -
使用 Dockerfile:您还可以在 Dockerfile 中使用 HEALTHCHECK 指令定义健康检查。这允许您指定如何执行健康检查,包括要运行的命令和预期的响应。
如果在 UI 和 Dockerfile 中都定义了健康检查且已启用,则 Dockerfile 的设置将优先生效。
服务堆栈
使用 Docker Compose 构建包 的服务或应用程序需要在其每个服务的 Dockerfile 中定义健康检查,或者在 docker-compose.y[a]ml 文件中使用 healthcheck 属性进行定义。
何时使用健康检查?
建议为所有资源启用健康检查。这样可以确保只有健康的资源接收流量。
但如果由于某些原因无法设置健康检查,您可以将其禁用。
请注意,如果资源不健康,它仍会接收流量。
