feat: dkpurge bin instead of function to run it as root

This commit is contained in:
aduhayon 2022-08-11 16:07:32 +02:00
parent cb4d42dc44
commit 78f6db3126
2 changed files with 60 additions and 8 deletions

View File

@ -19,14 +19,6 @@ alias dkvc='docker volume create'
alias dkvls='docker volume ls' alias dkvls='docker volume ls'
alias dkvrm='docker volume rm' alias dkvrm='docker volume rm'
function dkpurge() {
PS="$(docker ps -aq)"
echo "$PS" | xargs docker stop
echo "$PS" | xargs docker rm
docker image prune -f
}
# docker-compose # docker-compose
alias dc='docker-compose' alias dc='docker-compose'
alias dcd='docker-compose down' alias dcd='docker-compose down'

60
bin/dkpurge Executable file
View File

@ -0,0 +1,60 @@
#!/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