Difference between revisions of "Docker start configuration behavior and restart policy"

From wikieduonline
Jump to navigation Jump to search
(Created page with "To configure the '''start configuration behavior or the restart policy''' for a container (both of them), use the <code>--restart</code> flag when using the <code>docker run</...")
 
 
(26 intermediate revisions by 2 users not shown)
Line 9: Line 9:
 
The following example starts a Redis container and configures it to always restart unless it is explicitly stopped or Docker is restarted:
 
The following example starts a Redis container and configures it to always restart unless it is explicitly stopped or Docker is restarted:
  
<code>$ docker run -dit --restart '''unless-stopped''' redis</code>
+
<code>$ [[docker run]] -dit --restart '''unless-stopped''' redis</code>
 
With <code>[[docker inspect]] CONTAINER</code><ref>https://stackoverflow.com/questions/43108227/is-it-possible-to-show-the-restart-policy-of-a-running-docker-container</ref> you can verify <code>RestartPolicy</code> configuration.
 
With <code>[[docker inspect]] CONTAINER</code><ref>https://stackoverflow.com/questions/43108227/is-it-possible-to-show-the-restart-policy-of-a-running-docker-container</ref> you can verify <code>RestartPolicy</code> configuration.
  
 
To update restart policy execute:
 
To update restart policy execute:
:<code>[[/docker update/]]</code><ref>https://docs.docker.com/engine/reference/commandline/update/</ref> --restart=always CONTAINER_ID|CONTAINER_NAME<ref>docker update --restart=always 90bf248337dc</ref>
+
:<code>[[docker update]]</code><ref>https://docs.docker.com/engine/reference/commandline/update/</ref> <code>--restart=always CONTAINER_ID|CONTAINER_NAME</code><ref>docker update --restart=always 90bf248337dc</ref>
 
:If the container is started  with “--rm” flag, you cannot update the restart policy for it. The AutoRemove and RestartPolicy are mutually exclusive for the container.
 
:If the container is started  with “--rm” flag, you cannot update the restart policy for it. The AutoRemove and RestartPolicy are mutually exclusive for the container.
  
 +
<pre>
 +
docker inspect -f "{{ .HostConfig.RestartPolicy }}"  CONTAINER_NAME
 +
 +
docker update --restart=no $(docker container ls -aq)
 +
 +
docker inspect -f "{{ .HostConfig.RestartPolicy}}" $(docker ps -a -q)
 +
</pre>
 +
 +
== Related commands ==
 +
* <code>[[docker inspect]]</code>
 +
* <code>[[docker-compose.yml]]</code>
 +
* [[HEALTHCHECK]]
 +
* [[systemd]] and <code>[[service]]</code>
 +
* <code>[[docker ps]]</code>
 +
* <code>[[docker start]]</code>
 +
* <code>/var/lib/docker/containers/[hash_of_the_container]/[[hostconfig.json]]</code>
 +
* <code>[[virsh autostart]]</code>
  
 
== See also ==
 
== See also ==
* [[docker inspect]]
+
* <code>[[docker inspect]]</code>
 
*{{Docker}}
 
*{{Docker}}
 +
* {{service}}
  
 
[[Category:Docker]]
 
[[Category:Docker]]
[[Category:Devops]]
+
[[Category:DevOps]]

Latest revision as of 10:52, 26 December 2022

To configure the start configuration behavior or the restart policy for a container (both of them), use the --restart flag when using the docker run command. The value of the --restart flag can be any of the following:

  • Do not automatically restart the container. (the default): no
  • Restart the container if it exits due to an error, which manifests as a non-zero exit code: on-failure
  • Restart the container unless it is explicitly stopped or Docker itself is stopped or restarted: unless-stopped
  • Always restart the container if it stops: always


The following example starts a Redis container and configures it to always restart unless it is explicitly stopped or Docker is restarted:

$ docker run -dit --restart unless-stopped redis With docker inspect CONTAINER[1] you can verify RestartPolicy configuration.

To update restart policy execute:

docker update[2] --restart=always CONTAINER_ID|CONTAINER_NAME[3]
If the container is started with “--rm” flag, you cannot update the restart policy for it. The AutoRemove and RestartPolicy are mutually exclusive for the container.
 docker inspect -f "{{ .HostConfig.RestartPolicy }}"  CONTAINER_NAME

 docker update --restart=no $(docker container ls -aq)

 docker inspect -f "{{ .HostConfig.RestartPolicy}}" $(docker ps -a -q)

Related commands[edit]

See also[edit]

  • https://stackoverflow.com/questions/43108227/is-it-possible-to-show-the-restart-policy-of-a-running-docker-container
  • https://docs.docker.com/engine/reference/commandline/update/
  • docker update --restart=always 90bf248337dc
  • Advertising: