In order to enable a restart policy, you need to use the --restart
argument when executing docker run
.
In my case what I decided to do is to use the --restart
flag with the unless-stopped
argument, that way my containers would be restarted in case that they crash or even after a reboot. Here’s an example of the command that I had to use:
docker run -dit --restart unless-stopped httpd
As an example I also started another container without specifying the unless-stopped
argument:
docker run -dit httpd
After that, I rebooted the host to test if this was working and sure enough the container that I started with the unless-stopped
argument started after the reboot and the second one did not:
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ab9025e61abb httpd "httpd-foreground" About a minute ago Up 26 seconds 80/tcp container1
4d801fec7c0c httpd "httpd-foreground" About a minute ago Exited (0) About a minute ago container2
If you had an already running container that you wanted to change the restart policy for, you could use the docker update
command to change that:
docker update --restart unless-stopped container_id
Then if you run a docker inspect
for your container and look for RestartPolicy
you should be able to see something like this:
"RestartPolicy": {
"Name": "unless-stopped",
There are a few other flags that you could specify to the --restart
argument.
Argument |
Description |
no |
This is the default value, it means that the containers would not be restarted |
on-failure |
This would restart the container in case that there is an error and the container crashes |
always |
Always restart the container if it stops |
unless-stopped |
The container would always be restarted unless it was manually stopped |
For more information you could take a look at the official documentation here:
https://docs.docker.com/config/containers/start-containers-automatically/
Here’s a quick video demo on how to do that:
Hope that this helps!
Regards,
Bobby
Hi Bobbyiliev,
After reboot my node, I wanted to restart my containers in a specific order.
I have 3 containers, I want restart in a order one by one.
Can you help me how to do this ?
Regards,
Sujanya