{"id":48366,"date":"2025-02-08T08:14:17","date_gmt":"2025-02-08T08:14:17","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=48366"},"modified":"2025-07-12T05:38:46","modified_gmt":"2025-07-12T05:38:46","slug":"docker-kill","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/docker-kill\/","title":{"rendered":"Docker commands Guide &#8211; docker kill with examples"},"content":{"rendered":"\n<p>Here\u2019s a <strong>complete tutorial<\/strong> on <code>docker kill<\/code>, including its <strong>purpose<\/strong>, how it works, and a <strong>comprehensive list of examples<\/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 kill<\/code>?<\/strong><\/h2>\n\n\n\n<p><code>docker kill<\/code> is a Docker command used to <strong>immediately stop a running container<\/strong> by sending a specified signal (default is <code>SIGKILL<\/code>). It\u2019s different from <code>docker stop<\/code>, which shuts down the container gracefully by sending <code>SIGTERM<\/code> first and giving the process time to terminate.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Key Features:<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Forcefully stops<\/strong> a running container.<\/li>\n\n\n\n<li>Sends a <strong>custom signal<\/strong> to the main process (e.g., <code>SIGTERM<\/code>, <code>SIGUSR1<\/code>).<\/li>\n\n\n\n<li>Useful for <strong>emergency stops<\/strong> or when a container fails to respond to <code>docker stop<\/code>.<\/li>\n\n\n\n<li><strong>Faster than <code>docker stop<\/code><\/strong> because it doesn\u2019t wait for the process to exit.<\/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\">kill<\/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>Options:<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>--signal<\/code> \u2192 Specify the signal to send to the container (<code>SIGKILL<\/code>, <code>SIGTERM<\/code>, <code>SIGHUP<\/code>, etc.).<\/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>Difference Between <code>docker kill<\/code> and <code>docker stop<\/code><\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong><code>docker kill<\/code><\/strong><\/th><th><strong><code>docker stop<\/code><\/strong><\/th><\/tr><\/thead><tbody><tr><td>Sends <code>SIGKILL<\/code> by default<\/td><td>Sends <code>SIGTERM<\/code>, then <code>SIGKILL<\/code> after a timeout<\/td><\/tr><tr><td>Immediate and forceful stop<\/td><td>Graceful shutdown with time for cleanup<\/td><\/tr><tr><td>Faster<\/td><td>Slower but safer for running processes<\/td><\/tr><tr><td>Suitable for non-responsive containers<\/td><td>Suitable for normal shutdowns<\/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>Examples of <code>docker kill<\/code><\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Kill a Running Container<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">docker kill my_container\n<\/code><\/span><\/pre>\n\n\n<p>This immediately stops <code>my_container<\/code> by sending the <code>SIGKILL<\/code> signal.<\/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. Kill Multiple Containers<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">docker kill container1 container2 container3\n<\/code><\/span><\/pre>\n\n\n<p>This kills multiple containers at once.<\/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. Use a Custom Signal (<code>SIGTERM<\/code>)<\/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 kill --signal=<span class=\"hljs-string\">\"SIGTERM\"<\/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 sends <code>SIGTERM<\/code> to <code>my_container<\/code>, allowing it to shut down more gracefully.<\/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. Use <code>SIGUSR1<\/code> to Trigger Custom Behavior<\/strong><\/h3>\n\n\n\n<p>If your containerized application handles custom signals, you can send <code>SIGUSR1<\/code>:<\/p>\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 kill --signal=<span class=\"hljs-string\">\"SIGUSR1\"<\/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<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Kill All Running Containers<\/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 kill $(docker ps -q)\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 command kills all currently running 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>6. Check the Exit Status of a Killed Container<\/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 inspect --format=<span class=\"hljs-string\">'{{.State.ExitCode}}'<\/span> my_container\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>Returns the exit code (<code>137<\/code> for <code>SIGKILL<\/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>7. Use <code>docker kill<\/code> in a Shell Script<\/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\"><span class=\"hljs-meta\">#!\/bin\/bash<\/span>\n<span class=\"hljs-keyword\">for<\/span> container <span class=\"hljs-keyword\">in<\/span> $(docker ps -q); <span class=\"hljs-keyword\">do<\/span>\n  docker kill $container\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\">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 script kills all running containers one by one.<\/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. Kill a Container Running an Interactive Process<\/strong><\/h3>\n\n\n\n<p>If you have a container running a process that\u2019s stuck, like an interactive bash shell:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">docker kill my_interactive_container\n<\/code><\/span><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>9. Send <code>SIGHUP<\/code> to Reload Configuration<\/strong><\/h3>\n\n\n\n<p>If your application supports reloading its configuration with <code>SIGHUP<\/code>, you can trigger it:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">docker kill --signal=<span class=\"hljs-string\">\"SIGHUP\"<\/span> my_app_container\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><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<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>10. Monitor and Kill Non-Responsive Containers<\/strong><\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">if<\/span> <span class=\"hljs-selector-attr\">&#91; <span class=\"hljs-string\">\"$(docker inspect --format='{{.State.Status}}' my_container)\"<\/span> == <span class=\"hljs-string\">\"running\"<\/span> ]<\/span>; <span class=\"hljs-selector-tag\">then<\/span>\n  <span class=\"hljs-selector-tag\">docker<\/span> <span class=\"hljs-selector-tag\">kill<\/span> <span class=\"hljs-selector-tag\">my_container<\/span>\n<span class=\"hljs-selector-tag\">fi<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><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<p>This checks if the container is still running before killing it.<\/p>\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 kill<\/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 kill my_container<\/code><\/td><td>Kill a running container with <code>SIGKILL<\/code><\/td><\/tr><tr><td><code>docker kill --signal=\"SIGTERM\" my_container<\/code><\/td><td>Send <code>SIGTERM<\/code> to a running container<\/td><\/tr><tr><td><code>docker kill container1 container2<\/code><\/td><td>Kill multiple containers<\/td><\/tr><tr><td><code>docker kill --signal=\"SIGHUP\" my_app_container<\/code><\/td><td>Send <code>SIGHUP<\/code> to reload configuration<\/td><\/tr><tr><td><code>docker kill $(docker ps -q)<\/code><\/td><td>Kill all running containers<\/td><\/tr><tr><td><code>docker inspect --format='{{.State.ExitCode}}' my_container<\/code><\/td><td>Check the exit status of a killed container<\/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 kill<\/code>:<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Use <code>docker stop<\/code> for graceful shutdowns<\/strong> unless immediate termination is required.<\/li>\n\n\n\n<li><strong>Send custom signals<\/strong> for applications that support them (e.g., <code>SIGHUP<\/code> for reloads).<\/li>\n\n\n\n<li><strong>Avoid data loss<\/strong> by ensuring the container\u2019s process does not have unsaved data when killing it.<\/li>\n\n\n\n<li><strong>Monitor exit codes<\/strong> to understand why a container was killed (<code>137<\/code> indicates <code>SIGKILL<\/code>).<\/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;Cannot kill container: No such container&#8221;<\/strong><br>\u2192 Ensure the container is running. Use <code>docker ps<\/code> to check.<\/li>\n\n\n\n<li><strong>&#8220;Permission denied&#8221;<\/strong><br>\u2192 You may need elevated permissions (<code>sudo<\/code>) to kill certain containers.<\/li>\n\n\n\n<li><strong>Container keeps restarting<\/strong><br>\u2192 If the container is configured with a restart policy (<code>--restart always<\/code>), it will restart after being killed. Stop it with: <code>docker stop my_container docker rm my_container<\/code><\/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 Explained<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>137<\/code> \u2192 The container was killed with <code>SIGKILL<\/code>.<\/li>\n\n\n\n<li><code>143<\/code> \u2192 The container was stopped with <code>SIGTERM<\/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 kill, including its purpose, how it works, and a comprehensive list of examples. What is docker kill? docker kill is a Docker command used&#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-48366","post","type-post","status-publish","format-standard","hentry","category-docker"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/48366","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=48366"}],"version-history":[{"count":2,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/48366\/revisions"}],"predecessor-version":[{"id":48368,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/48366\/revisions\/48368"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=48366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=48366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=48366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}