Table of Contents

Overview

It is possible that due to unattended updates, a docker container is shutdown because dockerd was restarted. Without a restart policy, it remains “dead” and it is not started again. We encountered this problem at dev02. Thus, the policy should be provided in the run part:

docker run --restart always [..]

Documentation: “always Always restart the container if it stops. If it is manually stopped, it is restarted only when Docker daemon restarts or the container itself is manually restarted.”

Logging

To limit the logging, use the following parameters:

docker run --log-opt max-size=50m --log-opt max-file=3 [..]

To see if a running container has this log options, use

docker inspect name_of_container

and search for LogConfig

Health Check / Ping

In the Dockerfile, add something like

HEALTHCHECK --interval=5m CMD curl http://localhost:8000/health || exit 1''

The CMD has to return exit code 0 for OK and exit code 1 for UNHEALTHY

Then docker ps will show something like this:
Up 15 minutes (healthy)

Keywords: automatic restart dockerd container ping monitoring health check

Optimization