首页/云/Docker 容器速查/HEALTHCHECK 容器健康检查
镜像与构建107 条

HEALTHCHECK 容器健康检查

在镜像里内置健康检查:Docker 周期执行检查命令,按退出码标记 healthy/unhealthy,docker ps 的 STATUS 列会显示状态。

Docker 容器速查云更新于 2026-10-12
语法HEALTHCHECK [--interval=30s] [--timeout=30s] [--start-period=0s] [--retries=3] CMD 命令
状态starting → healthy / unhealthy
关闭HEALTHCHECK NONE(禁用基础镜像里的检查)

示例

示例
HEALTHCHECK --interval=30s --timeout=5s --start-period=40s --retries=3 \
  CMD wget -qO- http://localhost:8080/healthz || exit 1
start-period 内检查失败不计入 retries,适合慢启动应用;退出码 0 表示健康,其余为不健康。

易错点

  • 检查命令依赖的工具不在镜像里(如 alpine 无 curl)会一直 unhealthy,选镜像内已有工具
  • 检查过于频繁/太重会额外消耗资源,interval 与 timeout 要按应用响应时间设计

数据来源与参考

  • Docker 官方文档:Dockerfile HEALTHCHECK(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌