Docker alias for your zsh
Published 04-11-2017 00:00:00
Some docker alias to import on your shell
echo "# Importing Docker Aliases"
# ------------------------------------ Docker alias and function ------------------------------------
# Get latest container ID
alias dl="docker ps -l -q"
# Docker ps
alias dps="docker ps"
alias dpsa="docker ps -a"
# Get container IP
alias dip="docker inspect --format '{{ .NetworkSettings.IPAddress }}'"
# docker inspect
di() { docker inspect $1; }
# Execute interactive container, e.g., $dex base /bin/bash
alias dexec="docker exec -i -t"
# Stop all containers
dstop() { docker stop $(docker ps -a -q); }
# Remove all containers
drm() { docker rm $(docker ps -a -q); }
# Stop and Remove all containers
alias drmf='docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)'
# Remove all images
dri() { docker rmi $(docker images -q); }
# Dockerfile build, e.g., $dbu tcnksm/test
dbuild() { docker build --no-cache -t=$1 .; }
# Show all alias related docker
dalias() { cat ~/.zshrc.d/docker | grep 'docker' | sort; }
# Tail container logs
dtail(){docker logs -f $1;}
# Bash inside a container
dbash(){docker exec -i -t $1 /bin/busybox /bin/bash;}
# Tag container
dtag(){docker tag -f $1 $2;}
# Remove clean container
dclean() { docker kill $1 && docker rm $1; }
# Docker machine
alias dm='docker-machine'
# Eval the docker machine env
deval() {eval $(docker-machine env $1)}
# Eval the docker machine env
registryrepo() {curl --silent --user LOGIN:PASS https://docker.myregisty.net/v2/_catalog | jq}
registrycat() {curl --silent --user LOGIN:PASS https://docker.myregisty.net/v2/$1/tags/list | jq}
#ecr-login(){aws ecr get-login --no-include-email;}
ecr-login(){eval $(aws ecr get-login --no-include-email;)}
ecr-create(){aws ecr create-repository --repository-name $1;}
dcleanup(){
docker rm -v $(docker ps --filter status=exited -q 2>/dev/null) 2>/dev/null
docker rmi $(docker images --filter dangling=true -q 2>/dev/null) 2>/dev/null
}