Merge pull request #403 from ksclarke/docker

Added Docker aliases and functions
pull/261/head^2
Nils Winkler 2015-01-29 08:12:30 +01:00
commit 3fd8336644
2 changed files with 58 additions and 1 deletions

View File

@ -0,0 +1,17 @@
cite 'about-alias'
about-alias 'docker abbreviations'
alias dklc='docker ps -l' # List last Docker container
alias dklcid='docker ps -l -q' # List last Docker container ID
alias dklcip="docker inspect `dklcid` | grep IPAddress | cut -d '\"' -f 4" # Get IP of last Docker container
alias dkps='docker ps' # List running Docker containers
alias dkpsa='docker ps -a' # List all Docker containers
alias dki='docker images' # List Docker images
alias dkrmac='docker rm $(docker ps -a -q)' # Delete all Docker containers
alias dkrmlc='docker-remove-most-recent-container' # Delete most recent (i.e., last) Docker container
alias dkrmui='docker rmi $(docker images | grep "^<none>" | awk "{print $3}")' # Delete all untagged Docker images
alias dkrmli='docker-remove-most-recent-image' # Delete most recent (i.e., last) Docker image
alias dkrmi='docker-remove-images' # Delete images for supplied IDs or all if no IDs are passed as arguments
alias dkideps='docker-image-dependencies' # Output a graph of image dependencies using Graphiz
alias dkre='docker-runtime-environment' # List environmental variables of the supplied image ID
alias dkelc='docker exec -it `dklcid` bash' # Enter last container (works with Docker 1.3 and above)

View File

@ -1,5 +1,5 @@
cite about-plugin cite about-plugin
about-plugin 'Helpers to get Docker setup correctly for boot2docker' about-plugin 'Helpers to get Docker setup correctly for boot2docker and to more easily work with Docker'
# Note, this might need to be different if you have an older version # Note, this might need to be different if you have an older version
# of boot2docker, or its configured for a different IP # of boot2docker, or its configured for a different IP
@ -23,3 +23,43 @@ function docker-remove-most-recent-image() {
group 'docker' group 'docker'
docker images | head -2 | tail -1 | awk '{print $3}' | xargs docker rmi docker images | head -2 | tail -1 | awk '{print $3}' | xargs docker rmi
} }
function docker-remove-images() {
about 'attempt to remove images with supplied tags or all if no tags are supplied'
group 'docker'
if [ -z "$1" ]; then
docker rmi $(docker images -q)
else
DOCKER_IMAGES=""
for IMAGE_ID in $@; do DOCKER_IMAGES="$DOCKER_IMAGES\|$IMAGE_ID"; done
# Find the image IDs for the supplied tags
ID_ARRAY=($(docker images | grep "${DOCKER_IMAGES:2}" | awk {'print $3'}))
# Strip out duplicate IDs before attempting to remove the image(s)
docker rmi $(echo ${ID_ARRAY[@]} | tr ' ' '\n' | sort -u | tr '\n' ' ')
fi
}
function docker-image-dependencies() {
about 'attempt to create a Graphiz image of the supplied image ID dependencies'
group 'docker'
if hash dot 2>/dev/null; then
OUT=$(mktemp -t docker-viz-XXXX.png)
docker images -viz | dot -Tpng > $OUT
case $OSTYPE in
linux*)
xdg-open $OUT
;;
darwin*)
open $OUT
;;
esac
else
>&2 echo "Can't show dependencies; Graphiz is not installed"
fi
}
function docker-runtime-environment() {
about 'attempt to list the environmental variables of the supplied image ID'
group 'docker'
docker run "$@" env
}