Docker Restart

Documentation on Docker Restart

Follow @donadoio

Docker Restart

Docker has an extremely straightforward syntax to restart one or more containers.

Format

docker restart {Options} {Container Name}
Name Shorthand Description
- -all, -a Show all containers
- -quiet, -q Only display numeric IDs

To check which containers are active and running, use docker ps. Then, either restart a single container or restart all containers.

Restarting a single container

docker restart edpresso_container

Restarting all containers

docker restart $(docker ps -a -q)

Restart policy

Docker also lets the user set the restart policy upon exit or failure. Users can type docker ps to check if the restart policy is active; it will be shown as either Up, when the container is up and running, or Restarting when the container is in the restart state.

Format

docker run --restart={Policy} {Container Name}

Policies

Policy Result
no Do not automatically restart the container when it exits. This is the default.
on-failure[:max-retries] Restart only if the container exits with a non-zero exit status. Optionally, limit the number of restart retries
always Always restart the container regardless of the exit status.
unless-stopped Always restart the container regardless of the exit status, including on daemon startup, except if the container was put into a stopped state before the Docker daemon was stopped.

Examples

unless-stopped:

docker run --restart=unless-stopped edpresso_container

on-failure:

docker run --restart=on-failure:15 edpresso_container

Note: When restarting, an increasing delay is added after each restart. This delay starts from 100ms and doubles at every restart until the on-failure limit is reached or the docker container is stopped explicitly. This is done to avoid overflooding the server.

For analytics purposes, the user can inspect how many times the container has restarted:

docker inspect -f "{{ .RestartCount }}" edpresso_container

Or the last time the container restarted:

docker inspect -f "{{ .State.StartedAt }}" edpresso_container

Back to Docker for ft_server