32·Dockerfile进阶

HEALTHCHECK

HEALTHCHECK

核心概念

# 定义健康检查
HEALTHCHECK --interval=30s --timeout=3s --retries=3 \
    CMD curl -f http://localhost:8080/health || exit 1

参数说明

参数默认值说明
--interval30s检查间隔
--timeout30s超时时间
--start-period0s启动等待时间
--retries3失败次数后标记 unhealthy

常用检查方式

# HTTP 检查
HEALTHCHECK CMD curl -f http://localhost/health || exit 1

# TCP 检查
HEALTHCHECK CMD nc -z localhost 8080 || exit 1

# 进程检查
HEALTHCHECK CMD pgrep my-app || exit 1

查看状态

docker ps
# STATUS 列显示 healthy/unhealthy

docker inspect --format='{{.State.Health.Status}}' my-app

小结

语法说明
HEALTHCHECK定义健康检查
healthy检查通过
unhealthy检查失败

练习编辑器

bash
Loading...