From 7ab6ad7e6b563392cac266b2d5ba4170f22526b4 Mon Sep 17 00:00:00 2001 From: Adar Nimrod <nimrod@shore.co.il> Date: Sun, 24 Jan 2021 22:12:50 +0200 Subject: [PATCH] Docker clean. - Remove replaced images (images without a tag). - Output for logs. --- Documents/bin/_docker-clean | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/Documents/bin/_docker-clean b/Documents/bin/_docker-clean index 648d124..a4f834d 100755 --- a/Documents/bin/_docker-clean +++ b/Documents/bin/_docker-clean @@ -1,11 +1,26 @@ #!/bin/sh -# Deliberately don't set -e, allow failures to continue silently. set -eu +echo 'Checking for the Docker CLI.' >&2 docker version --format '{{ .Server.Version }}' > /dev/null + +echo 'Checking for a running Docker server.' >&2 docker version --format '{{ .Client.Version }}' > /dev/null + +echo 'Removing exited containers.' >&2 docker ps --quiet --filter=status=exited | xargs -r docker rm --volumes 2>/dev/null + +echo 'Removing created but not run containers.' >&2 docker ps --quiet --filter=status=created | xargs -r docker rm --volumes 2>/dev/null + +echo 'Removing dangling (unused) images.' >&2 docker images --quiet --filter=dangling=true | xargs -r docker rmi 2>/dev/null + +echo 'Removing replaced (without a tag) images.' >&2 +docker images --no-trunc | awk '$2=="<none>"' | xargs -r docker rmi 2>/dev/null + +echo 'Removing dangling (unused) volumes.' >&2 docker volume ls --quiet --filter=dangling=true | xargs -r docker volume rm 2>/dev/null + +echo 'Running builtin Docker prune.' >&2 docker system prune --force || true -- GitLab