Deployment Manual / Version 2307
Table Of ContentsDocker has a built-in health check mechanism that, if defined for an image, probes a defined command regularly to
determine the health status of the container. Because containerization is all about automation of processes, health checks
are not only important for monitoring purposes but even more important for triggering events in an automation chain in
your cluster. Many tools depend on the status information the container daemon provides. The Traefik reverse proxy
uses in our Docker development setup for example automatically removes a routing to a backend, when the backends
health status is not healthy
.
If you for example run
docker ps --format '{{.Names}} - {{.Status}}'
you will get a status report for all running containers like this:
elastic-worker - Up 15 hours (healthy) user-changes - Up 15 hours (healthy) cae-preview - Up 15 hours (healthy) cae-live - Up 15 hours (healthy) site-manager - Up 15 hours studio-server - Up 15 hours (healthy) overview - Up 15 hours content-feeder - Up 15 hours (healthy) cae-feeder-live - Up 15 hours (healthy) commerce-adapter-wcs - Up 15 hours (healthy) headless-server-preview - Up 15 hours (healthy) master-live-server - Up 15 hours (healthy) cae-feeder-preview - Up 15 hours (healthy) headless-server-live - Up 15 hours (healthy) studio-client - Up 15 hours (healthy) workflow-server - Up 15 hours (healthy) content-management-server - Up 15 hours (healthy)
The health check command is defined in the Dockerfile
of the application, that is
HEALTHCHECK --start-period=30s --interval=30s --timeout=3s \ CMD curl -Lf http://localhost:8081/actuator/health || exit 1