61 lines
1.0 KiB
Bash
Executable File
61 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
function read_yn() {
|
|
local ANS
|
|
|
|
$ECHO -n "$1 [Y/n]"
|
|
read -r ANS
|
|
|
|
case "$ANS" in
|
|
'y'|'Y'|'Yes'|'')
|
|
return 0
|
|
;;
|
|
*)
|
|
return 1
|
|
;;
|
|
esac
|
|
}
|
|
|
|
NORMAL='\e[0m'
|
|
RED='\e[31m'
|
|
|
|
ECHO='echo -e'
|
|
|
|
PS="$(docker ps -aq 2> /dev/null)"
|
|
|
|
if [ "$?" ] && [ "$EUID" != 0 ]; then
|
|
sudo -- "$0" "$@"
|
|
exit
|
|
fi
|
|
|
|
VOL="$(docker volume ls -q 2> /dev/null)"
|
|
IMG="$(docker images -q 2> /dev/null)"
|
|
|
|
|
|
if [ -n "$PS" ]; then
|
|
$ECHO "${RED}CONTAINERS${NORMAL}"
|
|
docker ps -a
|
|
|
|
read_yn "Clean Containers?" && \
|
|
echo "$PS" | xargs docker rm -f
|
|
fi
|
|
|
|
if [ -n "$VOL" ]; then
|
|
$ECHO "${RED}VOLUMES${NORMAL}"
|
|
docker volume ls
|
|
|
|
read_yn "Clean Volumes?" && \
|
|
echo "$VOL" | xargs docker volume rm -f
|
|
fi
|
|
|
|
if [ -n "$IMG" ]; then
|
|
$ECHO "${RED}IMAGES${NORMAL}"
|
|
docker images
|
|
|
|
if read_yn "Clean Images?"; then
|
|
echo "$IMG" | xargs docker image rm -f
|
|
elif read_yn "Prune Images?"; then
|
|
docker image prune -f
|
|
fi
|
|
fi
|