{"id":48400,"date":"2025-02-08T08:23:44","date_gmt":"2025-02-08T08:23:44","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=48400"},"modified":"2025-07-12T05:38:44","modified_gmt":"2025-07-12T05:38:44","slug":"docker-update","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/docker-update\/","title":{"rendered":"Docker commands Guide &#8211; docker update with examples"},"content":{"rendered":"\n<p>Here\u2019s a <strong>complete tutorial<\/strong> on <code>docker update<\/code>, covering <strong>what it does<\/strong>, <strong>examples<\/strong>, and <strong>use cases<\/strong>.<\/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 update<\/code>?<\/strong><\/h2>\n\n\n\n<p><code>docker update<\/code> is a Docker command used to <strong>modify the resource limits<\/strong> or <strong>configuration settings<\/strong> of one or more <strong>running containers<\/strong>. Unlike <code>docker run<\/code>, which sets these limits at container creation, <code>docker update<\/code> allows you to <strong>adjust them on the fly<\/strong> without stopping the container.<\/p>\n\n\n\n<p><strong>Key Features:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Adjust <strong>CPU, memory, block I\/O, and restart policies<\/strong> for running containers.<\/li>\n\n\n\n<li>Helps manage <strong>resource allocation<\/strong> dynamically.<\/li>\n\n\n\n<li>Supports updating <strong>multiple containers at once<\/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\">update<\/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>--cpus<\/code>: Limit the <strong>CPU usage<\/strong> for the container (e.g., <code>--cpus=\"1.5\"<\/code>).<\/li>\n\n\n\n<li><code>--memory<\/code>: Set the <strong>maximum memory<\/strong> the container can use (e.g., <code>--memory=\"512m\"<\/code>).<\/li>\n\n\n\n<li><code>--memory-swap<\/code>: Set the <strong>total memory plus swap<\/strong> for the container.<\/li>\n\n\n\n<li><code>--restart<\/code>: Update the <strong>restart policy<\/strong> (<code>no<\/code>, <code>always<\/code>, <code>on-failure<\/code>, or <code>unless-stopped<\/code>).<\/li>\n\n\n\n<li><code>--blkio-weight<\/code>: Set the <strong>block I\/O weight<\/strong> (relative I\/O priority).<\/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 update<\/code><\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Limit CPU Usage for a Running Container<\/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 update --cpus=<span class=\"hljs-string\">\"1.5\"<\/span> my_container\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 limits the container to <strong>1.5 CPU cores<\/strong>.<\/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. Set a Maximum Memory Limit<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">docker update --memory=<span class=\"hljs-string\">\"512m\"<\/span> my_container\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><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 limits the container\u2019s memory usage to <strong>512MB<\/strong>.<\/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. Adjust Memory Swap Limit<\/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 update --memory=<span class=\"hljs-string\">\"1g\"<\/span> --memory-swap=<span class=\"hljs-string\">\"2g\"<\/span> my_container\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 sets the container\u2019s memory limit to <strong>1GB<\/strong> and total memory + swap to <strong>2GB<\/strong>.<\/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. Change the Restart Policy<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">docker update --restart=always my_container\n<\/code><\/span><\/pre>\n\n\n<p>This updates the container\u2019s restart policy to <strong>always<\/strong>, ensuring it restarts automatically if it stops.<\/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. Set Block I\/O Weight<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">docker update --blkio-weight=500 my_container\n<\/code><\/span><\/pre>\n\n\n<p>This sets the <strong>block I\/O priority<\/strong> for the container, with values ranging from 10 (low priority) to 1000 (high priority). The default is 500.<\/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. Update Multiple Containers at Once<\/strong><\/h3>\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 update --memory=<span class=\"hljs-string\">\"1g\"<\/span> container1 container2 container3\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 applies the same memory limit to multiple 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>7. Increase CPU Allocation Dynamically<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">docker update --cpus=<span class=\"hljs-string\">\"2.0\"<\/span> my_container\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><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>If a running container needs more CPU power, you can increase its limit without stopping it.<\/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. Remove a Restart Policy<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">docker update --restart=no my_container\n<\/code><\/span><\/pre>\n\n\n<p>This removes the restart policy, meaning the container won\u2019t automatically restart if it stops.<\/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. Use <code>docker update<\/code> in a Shell Script<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-comment\">#!\/bin\/bash<\/span>\ndocker update --memory=<span class=\"hljs-string\">\"512m\"<\/span> --cpus=<span class=\"hljs-string\">\"1\"<\/span> web_container\ndocker update --memory=<span class=\"hljs-string\">\"1g\"<\/span> --cpus=<span class=\"hljs-string\">\"2\"<\/span> db_container\n<span class=\"hljs-keyword\">echo<\/span> <span class=\"hljs-string\">\"Resource limits updated for web and database containers.\"<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><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 updates memory and CPU limits for two specific containers.<\/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 update<\/code><\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Dynamic Resource Management<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Adjust resource limits for containers based on <strong>system load or performance requirements<\/strong>.<\/li>\n\n\n\n<li>Example: Increase memory for a database container during peak usage.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Performance Tuning<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Optimize CPU and I\/O allocation for critical containers to ensure <strong>consistent performance<\/strong>.<\/li>\n\n\n\n<li>Example: Give high-priority services more CPU and I\/O resources.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. System Recovery and Stability<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Prevent system crashes by limiting memory usage for containers that consume too much memory.<\/li>\n\n\n\n<li>Example: Set a strict memory limit for a container running a resource-intensive task.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Temporary Scaling<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Increase CPU or memory limits temporarily to handle <strong>high traffic<\/strong> and reduce them later.<\/li>\n\n\n\n<li>Example: Allocate more resources to a web server during a flash sale.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Restart Policy Updates<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Change the restart policy for containers in <strong>production environments<\/strong> to ensure high availability.<\/li>\n\n\n\n<li>Example: Set the restart policy to <code>always<\/code> for critical services.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>6. Batch Processing and Background Tasks<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Manage CPU and memory usage for <strong>batch jobs or data processing<\/strong> to avoid overloading the host system.<\/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 update<\/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 update --cpus=\"1.5\" my_container<\/code><\/td><td>Limit CPU usage to 1.5 cores<\/td><\/tr><tr><td><code>docker update --memory=\"512m\" my_container<\/code><\/td><td>Set a maximum memory limit of 512MB<\/td><\/tr><tr><td><code>docker update --memory=\"1g\" --memory-swap=\"2g\" my_container<\/code><\/td><td>Limit memory to 1GB with 2GB total (including swap)<\/td><\/tr><tr><td><code>docker update --restart=always my_container<\/code><\/td><td>Set restart policy to <code>always<\/code><\/td><\/tr><tr><td><code>docker update --blkio-weight=800 my_container<\/code><\/td><td>Set block I\/O priority to 800<\/td><\/tr><tr><td><code>docker update --cpus=\"2\" container1 container2<\/code><\/td><td>Increase CPU limit for multiple containers<\/td><\/tr><tr><td><code>docker update --restart=no my_container<\/code><\/td><td>Remove the restart policy<\/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 update<\/code>:<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Monitor resource usage<\/strong> (<code>docker stats<\/code>) before adjusting limits to avoid unintended performance degradation.<\/li>\n\n\n\n<li><strong>Apply limits cautiously<\/strong>, especially for memory and swap, to prevent container crashes.<\/li>\n\n\n\n<li><strong>Use <code>--restart=always<\/code><\/strong> for critical services to ensure high availability.<\/li>\n\n\n\n<li><strong>Combine with orchestration tools<\/strong> (Docker Swarm, Kubernetes) for automated resource scaling.<\/li>\n\n\n\n<li><strong>Regularly review resource limits<\/strong> and adjust based on application requirements.<\/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;Error response from daemon: Cannot update a stopped container&#8221;<\/strong><br>\u2192 Ensure the container is running. Start it with <code>docker start<\/code>.<\/li>\n\n\n\n<li><strong>&#8220;Error: Cannot set memory limit below current usage&#8221;<\/strong><br>\u2192 Check the container\u2019s current memory usage and set a higher limit.<\/li>\n\n\n\n<li><strong>&#8220;Permission denied&#8221;<\/strong><br>\u2192 Ensure you have sufficient privileges. Use <code>sudo<\/code> if necessary.<\/li>\n\n\n\n<li><strong>&#8220;Restart policy update failed&#8221;<\/strong><br>\u2192 Verify the container\u2019s status and ensure it is running before updating the restart policy.<\/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>Combining <code>docker update<\/code> with Monitoring<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Monitor Resource Usage with <code>docker stats<\/code>:<\/strong> <code>docker stats my_container<\/code><\/li>\n\n\n\n<li><strong>Update CPU or Memory Limits Dynamically:<\/strong> <code>docker update --cpus=\"2\" --memory=\"1g\" my_container<\/code><\/li>\n<\/ol>\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 update, covering what it does, examples, and use cases. What is docker update? docker update is a Docker command used to modify the resource&#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-48400","post","type-post","status-publish","format-standard","hentry","category-docker"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/48400","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=48400"}],"version-history":[{"count":2,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/48400\/revisions"}],"predecessor-version":[{"id":48402,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/48400\/revisions\/48402"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=48400"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=48400"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=48400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}