首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果码头容器的health_status更改,应该做什么或如何处理

如果码头容器的health_status更改,应该做什么或如何处理
EN

Stack Overflow用户
提问于 2019-09-10 07:37:24
回答 2查看 1.2K关注 0票数 2

我正在运行一个带有健康-cmd的码头集装箱,当它停止工作时,我知道它会变成不健康的。

代码语言:javascript
复制
$ docker run 
 --name=some-container \
 --health-cmd='curl -sS http://127.0.0.1:5000 || exit 1' \
 --health-timeout=10s \
 --health-retries=3 \
 --health-interval=5s \
 --restart on-failure \
 container-image 

当容器更改其健康状态时,我希望重新启动它。怎么能做到呢?如何触发重启?

我的码头版本19.03.1,构建74b1e89

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-10 10:35:18

取决于您的Dockerfile,如果容器失败了,容器将使用代码1退出,因为您的命令是:

代码语言:javascript
复制
--health-cmd='curl -sS http://127.0.0.1:5000 || exit 1'

因此,当只有检查失败时,您的重新启动策略on-failure将在~35秒container之后重新启动timeout + retries + interval

您可以在许多条件下确定的timeout + retries + interval值--它们没有完美的值。

我觉得你的命令很好

票数 1
EN

Stack Overflow用户

发布于 2019-09-10 07:42:49

您可以使用自愈重新启动不健康的码头容器。示例:

代码语言:javascript
复制
docker run -d \
    --name autoheal \
    --restart=always \
    -e AUTOHEAL_CONTAINER_LABEL=all \
    -v /var/run/docker.sock:/var/run/docker.sock \
    willfarrell/autoheal

注意:您必须首先对您的码头图像进行健康检查。详情请参见https://docs.docker.com/engine/reference/builder/#healthcheck

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57866106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档