From d6fc65a6656bbfdc526bc448785e552cd7f068b1 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Mon, 19 May 2025 12:29:12 +0300 Subject: [PATCH 1/3] fix(dogfood/coder): run docker system prune on shutdown Hopefully the final update to thne fix in #17110 This change greatly speeds up workspace destruction: ``` 2025-05-19 12:26:57.046+03:00 docker_container.workspace[0]: Destroying... [id=2685e2f456ba7b280c420219f19ef15384faa52c61ba7c087c7f109ffa6b1bda] 2025-05-19 12:27:07.046+03:00 docker_container.workspace[0]: Still destroying... [10s elapsed] 2025-05-19 12:27:16.734+03:00 docker_container.workspace[0]: Destruction complete after 20s ``` --- dogfood/coder/main.tf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dogfood/coder/main.tf b/dogfood/coder/main.tf index ddfd1f8e95e3d..a108903e491de 100644 --- a/dogfood/coder/main.tf +++ b/dogfood/coder/main.tf @@ -373,6 +373,10 @@ resource "coder_agent" "dev" { #!/usr/bin/env bash set -eux -o pipefail + # Stop all running containers and prune the system to clean up /var/lib/docker. + docker ps -q | xargs docker stop + docker system prune -a + # Stop the Docker service to prevent errors during workspace destroy. sudo service docker stop EOT From 8bc327727b489ec4e1ad3dcff2bb3906e22d2574 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Mon, 19 May 2025 13:12:09 +0300 Subject: [PATCH 2/3] update comment --- dogfood/coder/main.tf | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/dogfood/coder/main.tf b/dogfood/coder/main.tf index a108903e491de..6b3c98e2a808e 100644 --- a/dogfood/coder/main.tf +++ b/dogfood/coder/main.tf @@ -373,7 +373,14 @@ resource "coder_agent" "dev" { #!/usr/bin/env bash set -eux -o pipefail - # Stop all running containers and prune the system to clean up /var/lib/docker. + # Stop all running containers and prune the system to clean up + # /var/lib/docker to prevent errors during workspace destroy. + # + # WARNING! This will remove: + # - all containers + # - all networks not used by at least one container + # - all images without at least one container associated to them + # - all build cache docker ps -q | xargs docker stop docker system prune -a From 1b3c0cb433312f9feffb982852fb5850af29acf0 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Mon, 19 May 2025 13:13:47 +0300 Subject: [PATCH 3/3] simplify, since we stop containers all this is true --- dogfood/coder/main.tf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dogfood/coder/main.tf b/dogfood/coder/main.tf index 6b3c98e2a808e..4e4922e03a4ee 100644 --- a/dogfood/coder/main.tf +++ b/dogfood/coder/main.tf @@ -378,8 +378,8 @@ resource "coder_agent" "dev" { # # WARNING! This will remove: # - all containers - # - all networks not used by at least one container - # - all images without at least one container associated to them + # - all networks + # - all images # - all build cache docker ps -q | xargs docker stop docker system prune -a