From 88521fbc14d085d7fa43191ffb083e1254227fcc Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Fri, 11 Feb 2022 13:37:23 +0100 Subject: [PATCH] scripts/docker-cleanup.sh: conditional img clean Only run the simple image clean code if docuum is not running. It works well enough in most cases, but has the drawbacks that it never deletes "latest" images or images not matching "^osmocom-build", and may delete images that are still being used (OS#5447). With the other tool, all images are considered for removal, and the ones that have not been used the longest time are removed first. Related: OS#5477, OS#5066, SYS#5827 Change-Id: I1cef0833c096de0fa5acf77156bb5dd362e2ef9c --- scripts/docker-cleanup.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/scripts/docker-cleanup.sh b/scripts/docker-cleanup.sh index 34a98b2c..49b976b5 100755 --- a/scripts/docker-cleanup.sh +++ b/scripts/docker-cleanup.sh @@ -1,10 +1,14 @@ #!/bin/sh -x +# https://osmocom.org/projects/osmocom-servers/wiki/Docker_cache_clean_up +# simple image cleaning code in case docuum isn't running # delete all but the latest images -IMAGES=`docker image ls | grep \^osmocom-build | grep -v latest | awk -F ' ' '{print $1":"$2}'` -for f in $IMAGES; do - docker image rm $f -done +if [ -z "$(docker ps -q -f name=docuum)" ]; then + IMAGES=`docker image ls | grep \^osmocom-build | grep -v latest | awk -F ' ' '{print $1":"$2}'` + for f in $IMAGES; do + docker image rm $f + done +fi # delete all containers where we forgot to use --rm with docker run CONTAINERS="$(docker ps -q -a -f status=exited -f status=created)"