How to Restart Docker
In this article, you will learn how to restart the Docker daemon and Docker containers using the CLI.
For this guide, we'll be using a BlueVPS NVMe-bKVM server with 4GB of RAM.
We assume that all commands are executed as the root user.
Should you restart the Docker daemon or a Docker container?
Restart the Docker daemon when you updated the Docker Engine or system kernel; the Docker CLI isn't responding (frozen), you changed /etc/docker/daemon.json settings (e. g., storage drivers, log drivers or custom registries).
Restart a Docker container when an app inside the container has frozen/lagged/crashed; you changed an app config file or mounted volume files for the container.
Restart the Docker Daemon
To restart Docker, you only need to run one simple command, and you are good to go:
systemctl restart docker
Please note that systemctl restart docker will restart all your running containers by default. You can verify it using this command:
docker info | grep "Live Restore"
But if the output shows Live Restore Enabled: true which is not a default setting, your containers will stay alive.
Use this command to enable live restore (containers will stay alive if the daemon restarts):
tee /etc/docker/daemon.json <<EOF
{
"live-restore": true
}
EOF
systemctl reload docker
Use this command to disable live restore (containers will restart if the daemon restarts):
tee /etc/docker/daemon.json <<EOF
{
"live-restore": false
}
EOF
systemctl reload docker
Restart a Docker container
Before restarting a container we should identify its name or ID. Run the following command to display your containers:
docker ps

Here we can see 3 of our containers, we can restart them by using CONTAINER ID or NAMES.
For example, let's restart httpd by its name and then by its container ID:
docker restart httpd
docker restart 997f9dd62538
From the status we can see that the container was restarted and has been running for 1 second now

Restart a container automatically
Docker has restart policies for containers on exit or when Docker restarts so you avoid using process managers to start containers.
There are 4 restart policies:
no - Don't restart the container.
on-failure[:max-retries] - Restart the container on failure, you can limit the number of restarts.
always - Always restart the container if it stops.
unless-stopped- Always restart the container if it stops, unless you stopped it manually.
Here are command examples for all four restart policies:
docker run -d --restart=no httpd
docker run -d --restart=on-failure:3 httpd
docker run -d --restart=always httpd
docker run -d --restart=unless-stopped httpd

Conclusion
Knowing when and how to restart Docker containers saves time and prevents unnecessary downtime:
- Use systemctl restart docker for core updates and configuration changes.
- Use docker restart <name/ID> to quickly recover a specific unresponsive application.
- Set appropriate restart policies (--restart) during deployment to automate container recovery.
Don't forget to check out our VPS servers for the best prices on the market!
Blog