运行docker ps
时,我会得到一个在特定主机上运行的所有容器的清单。除此之外,我可以看到我自己HEALTHCHECK
报告的容器的健康状况。
如何通过REST API获取此信息?我正在整理一个小代理,它从Docker REST api中提取数据并将其提交给监控工具。我真的很想监控容器的健康状况。
如果可以从/tasks
端点提取这条信息,那就太棒了。
答案 0 :(得分:3)
这应该有帮助
GET / containers / {id} / json
这应该返回包含“ Health”键的json 健康状况可以包含以下值: “没有”,“开始”,“健康”,“不健康”
状态不正常,无论是健康还是不健康
"none" Indicates there is no healthcheck
"starting" Starting indicates that the container is not yet ready
"healthy" Healthy indicates that the container is running correctly
"unhealthy" Unhealthy indicates that the container has a problem
https://docs.docker.com/engine/api/v1.40/#operation/ContainerCreate
答案 1 :(得分:0)
尝试在运行容器时添加此参数:
--health-cmd "curl --fail http://localhost:8091/healthcheck || exit 1" --health-interval=5s --timeout=3s <your-image>
参考:
https://docs.docker.com/engine/reference/builder/#healthcheck