merge: work
This commit is contained in:
commit
690888a5d0
@ -1 +1 @@
|
||||
Subproject commit ee2e8c63cff0a8bfc7f4ef985ea466f10bb7e691
|
||||
Subproject commit d8d48b7a8ce12605378fba6391348b99e8a7a4c1
|
@ -1 +1 @@
|
||||
Subproject commit f174a0367b4fc7cb17710d867e25ea792311c418
|
||||
Subproject commit 5c7db4055d89f9057d562f4f8b9d03189c9f9786
|
@ -1 +1 @@
|
||||
Subproject commit 3eb6577a3b58e4d0e76057ad1309255678739b61
|
||||
Subproject commit 682fa459173208997092adf872baa66a7f04692d
|
@ -6,6 +6,7 @@ fi
|
||||
alias dk='docker'
|
||||
|
||||
# containers
|
||||
alias dkcc='docker container create'
|
||||
alias dkci='docker container inspect'
|
||||
alias dkcls='docker container ls'
|
||||
alias dkclsa='docker container ls -a'
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit a7d910c3a61d8599f748a8ddae59ecdd9424022a
|
||||
Subproject commit 0066280c3e971e1e45a9037f6d0b993dabcc3576
|
79
bin/dkprune
79
bin/dkprune
@ -2,7 +2,9 @@
|
||||
|
||||
function usage() {
|
||||
cat << EOF
|
||||
Usage: $0 -hcCviIna
|
||||
Usage: $0 [-hcCviIna]
|
||||
Prune Docker resources.
|
||||
If no option provided, defaults to -Cvn
|
||||
Options:
|
||||
-h Show this help and exits
|
||||
-c Remove stopped containers
|
||||
@ -36,9 +38,9 @@ c=1
|
||||
C=2
|
||||
v=4
|
||||
i=8
|
||||
I=16
|
||||
# I=16
|
||||
n=32
|
||||
a="$((c + C + v + I + n))"
|
||||
# a="$((c + C + v + I + n))"
|
||||
|
||||
CLEAN=0
|
||||
while getopts hcCviIna o; do
|
||||
@ -59,13 +61,15 @@ while getopts hcCviIna o; do
|
||||
CLEAN="$(add_opt "$CLEAN" "$i")"
|
||||
;;
|
||||
I)
|
||||
CLEAN="$(add_opt "$CLEAN" "$I")"
|
||||
CLEAN="$(add_opt "$CLEAN" "$i")"
|
||||
IMG_OPT="-a"
|
||||
;;
|
||||
n)
|
||||
CLEAN="$(add_opt "$CLEAN" "$n")"
|
||||
;;
|
||||
a)
|
||||
CLEAN="$(add_opt "$CLEAN" "$c" "$C" "$v" "$I" "$n")"
|
||||
CLEAN="$(add_opt "$CLEAN" "$c" "$C" "$v" "$i" "$n")"
|
||||
IMG_OPT="-a"
|
||||
;;
|
||||
*)
|
||||
exit 1
|
||||
@ -73,40 +77,39 @@ while getopts hcCviIna o; do
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "$((CLEAN & C))" == "$C" ]; then
|
||||
docker container ls -aq | xargs docker stop
|
||||
if [ "$CLEAN" == 0 ]; then
|
||||
CLEAN="$((C + v + n))"
|
||||
fi
|
||||
|
||||
if [ "$((CLEAN & c))" == "$c" ]; then
|
||||
docker container prune -f
|
||||
VALUES=(
|
||||
"$((c + i + v + n))"
|
||||
"$((c + i + n))"
|
||||
"$c"
|
||||
"$v"
|
||||
"$i"
|
||||
"$n"
|
||||
)
|
||||
|
||||
CON="container"
|
||||
PRUNE="prune -f"
|
||||
COMMANDS=(
|
||||
"docker system $PRUNE $IMG_OPT --volumes"
|
||||
"docker system $PRUNE $IMG_OPT"
|
||||
"docker $CON $PRUNE"
|
||||
"docker volume $PRUNE"
|
||||
"docker image $PRUNE $IMG_OPT"
|
||||
"docker network $PRUNE"
|
||||
)
|
||||
|
||||
if [ "$((CLEAN & "$C"))" == "$C" ]; then
|
||||
docker "$CON" ls -aq | xargs docker "$CON" stop 2> /dev/null
|
||||
fi
|
||||
|
||||
PRUNE="docker system prune -f"
|
||||
case "$CLEAN" in
|
||||
"$v")
|
||||
docker volume prune -f
|
||||
;;
|
||||
"$i")
|
||||
docker image prune -f
|
||||
;;
|
||||
"$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
|
||||
for idx in "${!VALUES[@]}"; do
|
||||
mask="${VALUES[$idx]}"
|
||||
|
||||
if [ "$((CLEAN & mask))" == "$mask" ]; then
|
||||
bash -c "${COMMANDS[$idx]}"
|
||||
CLEAN="$((CLEAN - mask))"
|
||||
fi
|
||||
done
|
||||
|
Loading…
Reference in New Issue
Block a user