fix: dkprune combined flags
This commit is contained in:
parent
2f5bb2e979
commit
83048705cd
@ -1 +1 @@
|
|||||||
Subproject commit ee2e8c63cff0a8bfc7f4ef985ea466f10bb7e691
|
Subproject commit d8d48b7a8ce12605378fba6391348b99e8a7a4c1
|
@ -1 +1 @@
|
|||||||
Subproject commit f174a0367b4fc7cb17710d867e25ea792311c418
|
Subproject commit 5c7db4055d89f9057d562f4f8b9d03189c9f9786
|
@ -1 +1 @@
|
|||||||
Subproject commit 3eb6577a3b58e4d0e76057ad1309255678739b61
|
Subproject commit 682fa459173208997092adf872baa66a7f04692d
|
@ -1 +1 @@
|
|||||||
Subproject commit a7d910c3a61d8599f748a8ddae59ecdd9424022a
|
Subproject commit 0066280c3e971e1e45a9037f6d0b993dabcc3576
|
77
bin/dkprune
77
bin/dkprune
@ -1,5 +1,8 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
#TODO: group flags into one command
|
||||||
|
# like -I == $i -a
|
||||||
|
|
||||||
function usage() {
|
function usage() {
|
||||||
cat << EOF
|
cat << EOF
|
||||||
Usage: $0 -hcCviIna
|
Usage: $0 -hcCviIna
|
||||||
@ -73,40 +76,46 @@ while getopts hcCviIna o; do
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ "$((CLEAN & C))" == "$C" ]; then
|
|
||||||
docker container ls -aq | xargs docker stop
|
VALUES=(
|
||||||
|
"$a"
|
||||||
|
"$((c + i + n))"
|
||||||
|
"$((c + I + n))"
|
||||||
|
"$((c + v + n))"
|
||||||
|
"$c"
|
||||||
|
"$v"
|
||||||
|
"$i"
|
||||||
|
"$I"
|
||||||
|
"$n"
|
||||||
|
)
|
||||||
|
|
||||||
|
SYS="docker system"
|
||||||
|
CON="docker container"
|
||||||
|
VOL="docker volume"
|
||||||
|
IMG="docker image"
|
||||||
|
NET="docker network"
|
||||||
|
PRUNE="prune -f"
|
||||||
|
COMMANDS=(
|
||||||
|
"$SYS $PRUNE -a --volumes"
|
||||||
|
"$SYS $PRUNE"
|
||||||
|
"$SYS $PRUNE -a"
|
||||||
|
"$SYS $PRUNE --volumes"
|
||||||
|
"$CON $PRUNE"
|
||||||
|
"$VOL $PRUNE"
|
||||||
|
"$IMG $PRUNE"
|
||||||
|
"$IMG $PRUNE -a"
|
||||||
|
"$NET $PRUNE"
|
||||||
|
)
|
||||||
|
|
||||||
|
if [ "$((CLEAN & "$C"))" == "$C" ]; then
|
||||||
|
$CON ls -aq | xargs $CON stop
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$((CLEAN & c))" == "$c" ]; then
|
|
||||||
docker container prune -f
|
|
||||||
fi
|
|
||||||
|
|
||||||
PRUNE="docker system prune -f"
|
for idx in "${!VALUES[@]}"; do
|
||||||
case "$CLEAN" in
|
mask="${VALUES[$idx]}"
|
||||||
"$v")
|
if [ "$((CLEAN & mask))" == "$mask" ]; then
|
||||||
docker volume prune -f
|
bash -c "${COMMANDS[$idx]}"
|
||||||
;;
|
CLEAN="$((CLEAN - mask))"
|
||||||
"$i")
|
fi
|
||||||
docker image prune -f
|
done
|
||||||
;;
|
|
||||||
"$I")
|
|
||||||
docker image prune -af
|
|
||||||
;;
|
|
||||||
"$n")
|
|
||||||
docker network prune -f
|
|
||||||
;;
|
|
||||||
"$((c + i + n))")
|
|
||||||
$PRUNE
|
|
||||||
;;
|
|
||||||
"$((c + I + n))")
|
|
||||||
$PRUNE -a
|
|
||||||
;;
|
|
||||||
"$((c + v + n))")
|
|
||||||
$PRUNE --volumes
|
|
||||||
;;
|
|
||||||
"$a")
|
|
||||||
$PRUNE -a --volumes
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
Loading…
Reference in New Issue
Block a user