merge: work

This commit is contained in:
AngeD 2022-10-24 21:19:55 +02:00
commit 690888a5d0
6 changed files with 46 additions and 42 deletions

@ -1 +1 @@
Subproject commit ee2e8c63cff0a8bfc7f4ef985ea466f10bb7e691 Subproject commit d8d48b7a8ce12605378fba6391348b99e8a7a4c1

@ -1 +1 @@
Subproject commit f174a0367b4fc7cb17710d867e25ea792311c418 Subproject commit 5c7db4055d89f9057d562f4f8b9d03189c9f9786

@ -1 +1 @@
Subproject commit 3eb6577a3b58e4d0e76057ad1309255678739b61 Subproject commit 682fa459173208997092adf872baa66a7f04692d

View File

@ -6,6 +6,7 @@ fi
alias dk='docker' alias dk='docker'
# containers # containers
alias dkcc='docker container create'
alias dkci='docker container inspect' alias dkci='docker container inspect'
alias dkcls='docker container ls' alias dkcls='docker container ls'
alias dkclsa='docker container ls -a' alias dkclsa='docker container ls -a'

@ -1 +1 @@
Subproject commit a7d910c3a61d8599f748a8ddae59ecdd9424022a Subproject commit 0066280c3e971e1e45a9037f6d0b993dabcc3576

View File

@ -2,7 +2,9 @@
function usage() { function usage() {
cat << EOF cat << EOF
Usage: $0 -hcCviIna Usage: $0 [-hcCviIna]
Prune Docker resources.
If no option provided, defaults to -Cvn
Options: Options:
-h Show this help and exits -h Show this help and exits
-c Remove stopped containers -c Remove stopped containers
@ -36,9 +38,9 @@ c=1
C=2 C=2
v=4 v=4
i=8 i=8
I=16 # I=16
n=32 n=32
a="$((c + C + v + I + n))" # a="$((c + C + v + I + n))"
CLEAN=0 CLEAN=0
while getopts hcCviIna o; do while getopts hcCviIna o; do
@ -59,13 +61,15 @@ while getopts hcCviIna o; do
CLEAN="$(add_opt "$CLEAN" "$i")" CLEAN="$(add_opt "$CLEAN" "$i")"
;; ;;
I) I)
CLEAN="$(add_opt "$CLEAN" "$I")" CLEAN="$(add_opt "$CLEAN" "$i")"
IMG_OPT="-a"
;; ;;
n) n)
CLEAN="$(add_opt "$CLEAN" "$n")" CLEAN="$(add_opt "$CLEAN" "$n")"
;; ;;
a) a)
CLEAN="$(add_opt "$CLEAN" "$c" "$C" "$v" "$I" "$n")" CLEAN="$(add_opt "$CLEAN" "$c" "$C" "$v" "$i" "$n")"
IMG_OPT="-a"
;; ;;
*) *)
exit 1 exit 1
@ -73,40 +77,39 @@ while getopts hcCviIna o; do
esac esac
done done
if [ "$((CLEAN & C))" == "$C" ]; then if [ "$CLEAN" == 0 ]; then
docker container ls -aq | xargs docker stop CLEAN="$((C + v + n))"
fi fi
if [ "$((CLEAN & c))" == "$c" ]; then VALUES=(
docker container prune -f "$((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 fi
PRUNE="docker system prune -f" for idx in "${!VALUES[@]}"; do
case "$CLEAN" in mask="${VALUES[$idx]}"
"$v")
docker volume prune -f if [ "$((CLEAN & mask))" == "$mask" ]; then
;; bash -c "${COMMANDS[$idx]}"
"$i") CLEAN="$((CLEAN - mask))"
docker image prune -f fi
;; 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