From bcb7c2bc5144ec63c6bde7b8947de33d5484e718 Mon Sep 17 00:00:00 2001 From: Dan Webb Date: Mon, 27 Nov 2023 10:53:33 +0000 Subject: [PATCH] feat: Tell the user when we can't remove the image if it's in use (#406) Signed-off-by: Dan Webb Co-authored-by: Edward Smith --- lib/kitchen/docker/helpers/image_helper.rb | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/kitchen/docker/helpers/image_helper.rb b/lib/kitchen/docker/helpers/image_helper.rb index fe75bc6..e54deba 100644 --- a/lib/kitchen/docker/helpers/image_helper.rb +++ b/lib/kitchen/docker/helpers/image_helper.rb @@ -41,7 +41,16 @@ def parse_image_id(output) def remove_image(state) image_id = state[:image_id] - docker_command("rmi #{image_id}") + if image_in_use?(state) + info("[Docker] Image ID #{image_id} is in use. Skipping removal") + else + info("[Docker] Removing image with Image ID #{image_id}.") + docker_command("rmi #{image_id}") + end + end + + def image_in_use?(state) + docker_command("ps -a", suppress_output: !logger.debug?).include?(state[:image_id]) end def build_image(state, dockerfile)