
willfarrell/autoheal监控并重启不健康的Docker容器。该功能曾提议随HEALTHCHECK一同加入Docker,但未被采纳。本容器作为替代方案,直至原生支持--exit-on-unhealthy(相关PR:[***]
latest (Dockerfile)
bashdocker run -d \ --name autoheal \ --restart=always \ -e AUTOHEAL_CONTAINER_LABEL=all \ -v /var/run/docker.sock:/var/run/docker.sock \ willfarrell/autoheal
a) 为容器添加标签autoheal=true以启用监控。
b) 设置环境变量AUTOHEAL_CONTAINER_LABEL=all监控所有运行中的容器。
c) 设置环境变量AUTOHEAL_CONTAINER_LABEL为现有标签名,且该标签值为true。
注意:必须先为Docker镜像应用
HEALTHCHECK。详情参见Docker官方文档。
AUTOHEAL_CONTAINER_LABEL=autoheal # 默认监控标签 AUTOHEAL_INTERVAL=5 # 健康检查间隔(秒) AUTOHEAL_START_PERIOD=0 # 首次健康检查延迟时间(秒) AUTOHEAL_DEFAULT_STOP_TIMEOUT=10 # 重启时容器停止超时时间(秒,可通过标签覆盖) DOCKER_SOCK=/var/run/docker.sock # Docker API通信的Unix socket路径 CURL_TIMEOUT=30 # Docker API请求的curl超时时间(秒)
autoheal.stop.timeout=20:覆盖容器重启时的停止超时时间(秒)bash# 构建镜像 docker build -t autoheal . # 运行测试容器 docker run -d \ -e AUTOHEAL_CONTAINER_LABEL=all \ -v /var/run/docker.sock:/var/run/docker.sock \ autoheal
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务