{"id":48381,"date":"2025-02-08T08:18:28","date_gmt":"2025-02-08T08:18:28","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=48381"},"modified":"2025-07-12T05:38:45","modified_gmt":"2025-07-12T05:38:45","slug":"docker-restart","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/docker-restart\/","title":{"rendered":"Docker commands Guide &#8211; docker restart with examples"},"content":{"rendered":"\n<p>Here\u2019s a <strong>complete tutorial<\/strong> on <code>docker restart<\/code>, covering how it works, a comprehensive list of examples, and practical use cases.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What is <code>docker restart<\/code>?<\/strong><\/h2>\n\n\n\n<p><code>docker restart<\/code> is a Docker command used to <strong>stop and then start a container<\/strong> with a single command. It\u2019s useful when you want to <strong>refresh or troubleshoot<\/strong> a container without deleting it.<\/p>\n\n\n\n<p><strong>Key Features:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Stops the container and immediately starts it again.<\/li>\n\n\n\n<li>Maintains the container\u2019s state and data (not affected by the restart).<\/li>\n\n\n\n<li>Helps in <strong>debugging<\/strong>, <strong>configuration changes<\/strong>, and <strong>service recovery<\/strong>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Basic Syntax<\/strong><\/h2>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">docker<\/span> <span class=\"hljs-selector-tag\">restart<\/span> <span class=\"hljs-selector-attr\">&#91;OPTIONS]<\/span> <span class=\"hljs-selector-tag\">CONTAINER<\/span> <span class=\"hljs-selector-attr\">&#91;CONTAINER...]<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\"><strong>Common Options:<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>-t<\/code>, <code>--time<\/code>: Specify the <strong>timeout<\/strong> (in seconds) before forcibly stopping the container. The default timeout is <strong>10 seconds<\/strong>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Examples of <code>docker restart<\/code><\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Restart a Running Container<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">docker restart my_container\n<\/code><\/span><\/pre>\n\n\n<p>This stops and restarts <code>my_container<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Restart a Stopped Container<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">docker restart stopped_container\n<\/code><\/span><\/pre>\n\n\n<p>This starts a previously stopped container.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Restart Multiple Containers<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">docker restart container1 container2 container3\n<\/code><\/span><\/pre>\n\n\n<p>This command restarts multiple containers simultaneously.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Restart a Container with a Custom Timeout<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">docker restart -t 20 my_container\n<\/code><\/span><\/pre>\n\n\n<p>This gives the container <strong>20 seconds<\/strong> to stop gracefully before being forcibly stopped and restarted.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Restart All Running Containers<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">docker restart $(docker ps -q)\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>This restarts every running container.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>6. Use in a Shell Script<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\">#!\/bin\/bash<\/span>\ndocker restart web_container db_container cache_container\n<span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">\"Containers restarted successfully.\"<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>This script restarts multiple containers and displays a success message.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>7. Restart a Container by ID<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">docker restart a1b2c3d4e5f6\n<\/code><\/span><\/pre>\n\n\n<p>You can use the container\u2019s ID instead of its name.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>8. Restart the Last Created Container<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">docker restart $(docker ps -lq)\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>This restarts the most recently created container.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>9. Restart Containers with Specific Filters<\/strong><\/h3>\n\n\n\n<p>If you want to restart containers based on their status or name, combine <code>docker ps<\/code> with <code>docker restart<\/code>:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">docker restart $(docker ps -q --filter <span class=\"hljs-string\">\"status=exited\"<\/span>)\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>This restarts all exited containers.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>10. Automate Restarts for a Monitoring System<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-keyword\">while<\/span> <span class=\"hljs-keyword\">true<\/span>; <span class=\"hljs-keyword\">do<\/span>\n  docker restart monitoring_container\n  sleep <span class=\"hljs-number\">300<\/span>  <span class=\"hljs-comment\"># Restart the container every 5 minutes<\/span>\ndone\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>This continuously restarts a monitoring container every 5 minutes.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Use Cases for <code>docker restart<\/code><\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Refresh Services<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Restart services to <strong>apply configuration changes<\/strong>.<\/li>\n\n\n\n<li>Useful after <strong>environment variable updates<\/strong> or <strong>software upgrades<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Debugging and Recovery<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Restart non-responsive containers to recover from errors.<\/li>\n\n\n\n<li>Helps resolve temporary <strong>network or resource-related issues<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Automated Maintenance<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Schedule periodic container restarts for <strong>memory cleanup<\/strong> or <strong>log rotation<\/strong>.<\/li>\n\n\n\n<li>Useful in <strong>stateless services<\/strong> where frequent restarts won\u2019t disrupt functionality.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. CI\/CD Pipelines<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Restart containers during <strong>continuous integration and deployment<\/strong> to apply changes.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Service Dependency Management<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Restart dependent services in a specific order (e.g., restart the database before restarting the web server).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>6. Development and Testing<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Quickly restart containers during <strong>development<\/strong> to test changes.<\/li>\n\n\n\n<li>Common in <strong>local development environments<\/strong> using Docker Compose.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>List of Common <code>docker restart<\/code> Commands<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>Command<\/strong><\/th><th><strong>Description<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>docker restart my_container<\/code><\/td><td>Restart a single container<\/td><\/tr><tr><td><code>docker restart stopped_container<\/code><\/td><td>Restart a stopped container<\/td><\/tr><tr><td><code>docker restart container1 container2<\/code><\/td><td>Restart multiple containers<\/td><\/tr><tr><td><code>docker restart -t 20 my_container<\/code><\/td><td>Restart a container with a 20-second timeout<\/td><\/tr><tr><td><code>docker restart $(docker ps -q)<\/code><\/td><td>Restart all running containers<\/td><\/tr><tr><td><code>docker restart $(docker ps -lq)<\/code><\/td><td>Restart the last created container<\/td><\/tr><tr><td><code>docker restart a1b2c3d4e5f6<\/code><\/td><td>Restart a container using its ID<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Best Practices for Using <code>docker restart<\/code>:<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Use custom timeouts (<code>-t<\/code>)<\/strong> for services that need extra time to shut down gracefully.<\/li>\n\n\n\n<li><strong>Monitor container health<\/strong> after restarting to ensure services resume correctly.<\/li>\n\n\n\n<li><strong>Combine with <code>docker logs<\/code><\/strong> to check for errors after restarting.<\/li>\n\n\n\n<li><strong>Avoid frequent restarts<\/strong> for critical services\u2014consider using health checks and restart policies.<\/li>\n\n\n\n<li><strong>Automate container restarts<\/strong> using cron jobs or scripts for scheduled maintenance.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Common Errors and Solutions<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>&#8220;No such container&#8221;<\/strong><br>\u2192 Ensure the container name or ID is correct. Use <code>docker ps -a<\/code> to find it.<\/li>\n\n\n\n<li><strong>&#8220;Container is already restarting&#8221;<\/strong><br>\u2192 Check if the container has a restart policy (<code>docker inspect<\/code>). Wait for it to finish restarting or stop it manually: <code>docker stop my_container docker restart my_container<\/code><\/li>\n\n\n\n<li><strong>Timeout Issues<\/strong><br>\u2192 Increase the timeout with <code>-t<\/code> for services that take longer to shut down.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Exit Codes and Troubleshooting<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>0<\/strong> \u2192 Successful restart.<\/li>\n\n\n\n<li><strong>1<\/strong> \u2192 Error during restart. Check logs with <code>docker logs<\/code>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here\u2019s a complete tutorial on docker restart, covering how it works, a comprehensive list of examples, and practical use cases. What is docker restart? docker restart is a Docker command&#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[4862],"tags":[],"class_list":["post-48381","post","type-post","status-publish","format-standard","hentry","category-docker"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/48381","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=48381"}],"version-history":[{"count":3,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/48381\/revisions"}],"predecessor-version":[{"id":48384,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/48381\/revisions\/48384"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=48381"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=48381"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=48381"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}