diff --git a/zsh/aliases.zsh b/zsh/aliases.zsh index 3966595..40d81e9 100644 --- a/zsh/aliases.zsh +++ b/zsh/aliases.zsh @@ -1,4 +1,82 @@ -# Aliases +function dnames-fn { + for ID in `docker ps | awk '{print $1}' | grep -v 'CONTAINER'` + do + docker inspect $ID | grep Name | head -1 | awk '{print $2}' | sed 's/,//g' | sed 's%/%%g' | sed 's/"//g' + done +} + +function dip-fn { + echo "IP addresses of all named running containers" + + for DOC in `dnames-fn` + do + IP=`docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}} {{end}}' "$DOC"` + OUT+=$DOC'\t'$IP'\n' + done + echo -e $OUT | column -t + unset OUT +} + +function dex-fn { + docker exec -it $1 ${2:-bash} +} + +function di-fn { + docker inspect $1 +} + +function dl-fn { + docker logs -f $1 +} + +function drun-fn { + docker run -it $1 $2 +} + +function dcr-fn { + docker compose run $@ +} + +function dsr-fn { + docker stop $1;docker rm $1 +} + +function drmc-fn { + docker rm $(docker ps --all -q -f status=exited) +} + +function drmid-fn { + imgs=$(docker images -q -f dangling=true) + [ ! -z "$imgs" ] && docker rmi "$imgs" || echo "no dangling images." +} + +# in order to do things like dex $(dlab label) sh +function dlab { + docker ps --filter="label=$1" --format="{{.ID}}" +} + +function dc-fn { + docker compose $* +} + +alias dc=dc-fn +alias dcu="docker compose up -d" +alias dcd="docker compose down" +alias dcr=dcr-fn +alias dex=dex-fn +alias di=di-fn +alias dim="docker images" +alias dip=dip-fn +alias dl=dl-fn +alias dnames=dnames-fn +alias dps="docker ps" +alias dpsa="docker ps -a" +alias drmc=drmc-fn +alias drmid=drmid-fn +alias drun=drun-fn +alias dsp="docker system prune --all" +alias dsr=dsr-fn + alias ls='ls --color=never' alias ll='ls -lah --color=never' alias grep='grep --color=auto'