1. 运行autoheal容器,监控并重启不健康的 docker 容器
docker run -d \
--name autoheal \
--restart=always \
-e AUTOHEAL_CONTAINER_LABEL=all \
-v /var/run/docker.sock:/var/run/docker.sock \
willfarrell/autoheal
2. Dockerfile
在Dockerfile里面定义镜像的healthcheck可以应用到基于这个镜像的所有容器。
# healthcheck
HEALTHCHECK --interval=5s --timeout=5s \
CMD curl -sS 'http://localhost:9200' || exit 1
这是一个Elasticsearch的健康状态检查,通过curl检查本地主机localhost上面的9200端口是否可以联通,如果无法联通就返回状态码1,因为返回非零状态码Docker就会认为当前容器的状态是不健康的。
健康检查 (
HEALTHCHECK
) 指令简介: https://beginor.github.io/2018/03/11/healthy-check-instruction-of-docker.html
网友评论