From 106e6b74d705ad98308f5a019c368a08d8f35020 Mon Sep 17 00:00:00 2001 From: Knut Ahlers Date: Sun, 8 Jul 2018 21:47:27 +0200 Subject: [PATCH] Simplify cleanup Signed-off-by: Knut Ahlers --- bin/docker-clean | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/bin/docker-clean b/bin/docker-clean index 4891eba..d6be3e4 100755 --- a/bin/docker-clean +++ b/bin/docker-clean @@ -2,22 +2,14 @@ set -euo pipefail if [ -e "${HOME}/bin/script_framework.sh" ]; then - source "${HOME}/bin/script_framework.sh" + source "${HOME}/bin/script_framework.sh" else - function step() { echo $@; } + function step() { echo $@; } fi step "Removing containers created / exited >= ~1h ago..." -CONTAINERS=$(docker ps -a | awk '/(hours?|days?|weeks?|months?) ago\s+(Created|Exited)/{ print $1 }' | xargs) +CONTAINERS=$(docker ps -a | gawk '/(hours?|days?|weeks?|months?) ago\s+(Created|Exited)/{ print $1 }' | xargs) [ -n "${CONTAINERS}" ] && docker rm ${CONTAINERS} -step "Untagging all images not used by containers..." -PS_OUTPUT=$(docker ps -a) -for img in $(docker images | awk '/^[a-z].*(hours?|days?|weeks?|months?) ago/{ print $1":"$2 }' | grep -v '' | sort | uniq); do - if ! (echo "${PS_OUTPUT}" | grep -q "\s${img}\s") && ! (echo "${PS_OUTPUT}" | grep -q "\s${img%:latest}\s"); then - docker rmi --no-prune "${img}" - fi -done - -step "Removing dangling images..." -docker image prune -f +step "Removing unused and dangling images..." +docker image prune -a -f