feat: docker system aliases to replace dkpurge

This commit is contained in:
AngeD 2022-10-18 15:46:06 +02:00
parent 996e272d88
commit c7b458753f
3 changed files with 53 additions and 150 deletions

View File

@ -6,59 +6,71 @@ fi
alias dk='docker' alias dk='docker'
# containers # containers
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'
alias dkclsaq='docker container ls -a -q' alias dkclsaq='docker container ls -a -q'
alias dkclsq='docker container ls -q' alias dkclsq='docker container ls -q'
alias dkcp='docker container prune' alias dkcp='docker container prune'
alias dkcpf='docker container prune -f' alias dkcpf='docker container prune -f'
alias dkcrm='docker container rm' alias dkcrm='docker container rm'
alias dkcrmf='docker container rm -f' alias dkcrmf='docker container rm -f'
alias dkex='docker container exec -i -t' alias dkex='docker container exec -i -t'
alias dklo='docker logs -f' alias dklo='docker logs -f'
alias dkr='docker run -i -t' alias dkr='docker run -i -t'
# images # images
alias dkb='docker build .' alias dkb='docker build .'
alias dki='docker image' alias dki='docker image'
alias dkic='docker image create' alias dkic='docker image create'
alias dkii='docker image inspect' alias dkii='docker image inspect'
alias dkils='docker image ls' alias dkils='docker image ls'
alias dkilsa='docker image ls -a' alias dkilsa='docker image ls -a'
alias dkilsaq='docker image ls -a -q' alias dkilsaq='docker image ls -a -q'
alias dkilsq='docker image ls -q' alias dkilsq='docker image ls -q'
alias dkip='docker image prune' alias dkip='docker image prune'
alias dkipf='docker image prune -f' alias dkipf='docker image prune -f'
alias dkirm='docker image rm' alias dkirm='docker image rm'
alias dkirmf='docker image rm -f' alias dkirmf='docker image rm -f'
alias dkl='docker pull' alias dkl='docker pull'
alias dkp='docker push' alias dkp='docker push'
alias dkt='docker tag' alias dkt='docker tag'
# volumes # volumes
alias dkv='docker volume' alias dkv='docker volume'
alias dkvc='docker volume create' alias dkvc='docker volume create'
alias dkvi='docker volume inspect' alias dkvi='docker volume inspect'
alias dkvls='docker volume ls' alias dkvls='docker volume ls'
alias dkvlsq='docker volume ls -q' alias dkvlsq='docker volume ls -q'
alias dkvp='docker volume prune' alias dkvp='docker volume prune'
alias dkvpf='docker volume prune -f' alias dkvpf='docker volume prune -f'
alias dkvrm='docker volume rm' alias dkvrm='docker volume rm'
alias dkvrmf='docker volume rm -f' alias dkvrmf='docker volume rm -f'
# networks # networks
alias dkn='docker network' alias dkn='docker network'
alias dknc='docker network create' alias dknc='docker network create'
alias dkni='docker network inspect' alias dkni='docker network inspect'
alias dknls='docker network ls' alias dknls='docker network ls'
alias dknlsq='docker network ls -q' alias dknlsq='docker network ls -q'
alias dknp='docker network prune' alias dknp='docker network prune'
alias dknpf='docker network prune -f' alias dknpf='docker network prune -f'
alias dknrm='docker network rm' alias dknrm='docker network rm'
alias dknrmf='docker network rm -f' alias dknrmf='docker network rm -f'
# system
alias dks='docker system'
alias dksdf='docker system df'
alias dksp='docker system prune'
alias dkspa='docker system prune -a'
alias dkspaf='docker system prune -af'
alias dkspf='docker system prune -f'
alias dkspv='docker system prune --volumes'
alias dkspva='docker system prune --volumes -a'
alias dkspvaf='docker system prune --volumes -af'
alias dkspvf='docker system prune --volumes -f'
# docker-compose # docker-compose
alias dc='docker-compose' alias dc='docker-compose'
alias dcd='docker-compose down' alias dcd='docker-compose down'
alias dcup='docker-compose up -d --build' alias dcup='docker-compose up -d --build'

View File

@ -74,7 +74,7 @@ zstyle ':omz:update' mode disabled # disable automatic updates
# Custom plugins may be added to $ZSH_CUSTOM/plugins/ # Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse) # Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup. # Add wisely, as too many plugins slow down shell startup.
plugins=(git vi-mode) plugins=(git vi-mode pdm)
. "$ZSH"/oh-my-zsh.sh . "$ZSH"/oh-my-zsh.sh

View File

@ -1,109 +0,0 @@
#!/bin/bash
if [ "$1" == '-h' ] || [ "$1" == '--help' ]; then
cat << EOF
Usage: $0 [Default-answer]
Delete all Docker ressources.
root permission not necessary so the binary can be placed in
$HOME/[.local/]bin.
| Ressource | Answer | Description |
| ---------- | ------ | -------------------------- |
| Containers | [Y]es | Remove stopped containers |
| | [A]ll | Remove all containers |
| | [N]o | Skip |
| | | |
| Volumes | [Y]es | Remove unused volumes |
| | [A]ll | Remove unused volumes |
| | [N]o | Skip |
| | | |
| Images | [Y]es | Remove unused local images |
| | [A]ll | Remove all unused images |
| | [N]o | Skip |
| | | |
| Networks | [Y]es | Remove unused networks |
| | [A]ll | Remove unused networks |
| | [N]o | Skip |
EOF
exit
fi
PS="$(docker container ls -aq 2> /dev/null)"
if [ "$?" != 0 ] && [ "$EUID" != 0 ]; then
sudo -- "$0" "$@"
exit
fi
VOL="$(docker volume ls -q 2> /dev/null)"
IMG="$(docker images -q 2> /dev/null)"
NET="$(docker network ls -q 2> /dev/null)"
DEFAULT_NET="$(docker network ls -q -f name=bridge -f name=host -f name=none)"
ANS="$1"
[ -z "$1" ] && READ="read -r ANS"
if [ -n "$PS" ]; then
docker container ls -a
echo -n "Prune Containers? [Y/n/a] "
$READ
case "${ANS,,}" in
'y'|'yes'|'')
docker rm $PS 2> /dev/null
;;
'a'|'all')
docker rm -f $PS 2> /dev/null
;;
esac
fi
if [ -n "$VOL" ]; then
echo
docker volume ls
echo -n "Prune Volumes? [Ya/n] "
$READ
case "${ANS,,}" in
'y'|'yes'|'a'|'all'|'')
docker volume rm -f $VOL 2> /dev/null
;;
esac
fi
if [ -n "$IMG" ]; then
echo
docker image ls
echo -n "Prune Images? [Y/n/a] "
$READ
case "${ANS,,}" in
'y'|'yes'|'')
for img in $IMG; do
if docker image inspect "$img" | grep '"RepoTags": \[]' &> /dev/null; then
TO_CLEAN="$TO_CLEAN $img"
fi
done
docker image rm -f $TO_CLEAN 2> /dev/null
;;
'a'|'all')
docker image rm -f $IMG 2> /dev/null
;;
esac
fi
if [ -n "$NET" ] && [ "$NET" != "$DEFAULT_NET" ]; then
echo
docker network ls
echo -n "Prune Networks? [Ya/n] "
$READ
case "${ANS,,}" in
'y'|'yes'|'a'|'all'|'')
docker network prune -f
;;
esac
fi