Skip to content

健康检查

健康检查是确保您的应用程序和服务正常运行的一种方式。它们允许 Coolify 监控资源的健康状况,并确保流量只路由到健康的实例。例如,这对于滚动更新正常工作非常重要。

Traefik

当使用 Traefik 作为反向代理时,健康检查是其如何将流量路由到资源的一个组成部分。

已启用

如果您的资源已启用健康检查,Traefik 只会在健康检查通过时将流量路由到它。如果健康检查失败,Traefik 将不会将流量路由到该资源。

这将导致资源返回 404 Not Found(未找到)或 No available server(无可用服务器)错误。

已禁用

如果您的资源已禁用健康检查,Traefik 无论健康检查状态如何都会将流量路由到它。

配置健康检查

应用程序

有两种方法可以为应用程序配置健康检查:

  1. 使用 UI:您可以在创建或编辑应用程序时直接在 Coolify UI 中设置健康检查。您可以指定要检查的路径、预期的响应代码以及检查的间隔。容器需要安装 curlwget 才能执行健康检查。

  2. 使用 Dockerfile:您还可以在 Dockerfile 中使用 HEALTHCHECK 指令定义健康检查。这允许您指定应该如何执行健康检查,包括要运行的命令和预期的响应。

如果 UI 和 Dockerfile 中都定义了健康检查并且都已启用,则 Dockerfile 中的设置将优先。

服务栈

使用 Docker Compose 构建包 的服务或应用程序需要在每个服务的 Dockerfile 中定义健康检查,或者在其 docker-compose.y[a]ml 文件中使用 healthcheck 属性定义。

何时使用健康检查?

建议为所有资源启用健康检查。这样,您可以确保只有健康的资源接收流量。

但如果由于某种原因无法设置健康检查,您可以禁用它们。

请注意,如果资源不健康,它仍然会接收流量。