Monitor and restart unhealthy docker containers.
This functionality was propose to be included with the addition of HEALTHCHECK
, however didn't make the cut.
This container is a stand-in till there is native support for --exit-on-unhealthy
moby/moby#22719.
docker run -d \
--name autoheal \
--restart=always \
-e AUTOHEAL_CONTAINER_LABEL=all \
-v /var/run/docker.sock:/var/run/docker.sock \
willfarrell/autoheal
a) Apply the label autoheal=true
to your container to have it watched.
b) Set ENV AUTOHEAL_CONTAINER_LABEL=all
to watch all running containers.
c) Set ENV AUTOHEAL_CONTAINER_LABEL
to existing label name that has the value true
.
Note: You must apply HEALTHCHECK
to your docker images first. See https://docs.docker.com/engine/reference/builder/#/healthcheck for details.
AUTOHEAL_CONTAINER_LABEL=autoheal
AUTOHEAL_INTERVAL=5
DOCKER_SOCK=/var/run/docker.sock
docker build -t autoheal .
docker run -d \
-e AUTOHEAL_CONTAINER_LABEL=all \
-v /var/run/docker.sock:/var/run/docker.sock \
autoheal