diff --git a/aliases/available/docker.aliases.bash b/aliases/available/docker.aliases.bash index bb9f99ca..7d837c70 100644 --- a/aliases/available/docker.aliases.bash +++ b/aliases/available/docker.aliases.bash @@ -10,6 +10,7 @@ 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 images -q -f dangling=true |xargs -r docker rmi' # Delete all untagged Docker images +alias dkrmall='docker-remove-stale-assets' # Delete all untagged images and exited containers 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 diff --git a/plugins/available/docker.plugin.bash b/plugins/available/docker.plugin.bash index 0a93c245..2632c3cc 100644 --- a/plugins/available/docker.plugin.bash +++ b/plugins/available/docker.plugin.bash @@ -13,6 +13,13 @@ function docker-remove-most-recent-image() { docker images -q | head -1 | xargs docker rmi } +function docker-remove-stale-assets() { + about 'attempt to remove exited containers and dangling images' + group 'docker' + docker ps --filter status=exited -q | xargs docker rm --volumes + docker images --filter dangling=true -q | xargs docker rmi +} + function docker-enter() { about 'enter the specified docker container using bash' group 'docker'