From 20a49e6393d2885579fcf2f2b7fbeb886cecb05a Mon Sep 17 00:00:00 2001 From: Dylan Semler Date: Wed, 15 Feb 2017 07:00:42 -0500 Subject: [PATCH] Add plugin and alias for cleaning docker assets --- aliases/available/docker.aliases.bash | 1 + plugins/available/docker.plugin.bash | 7 +++++++ 2 files changed, 8 insertions(+) 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 4a2abbd7..7d0f58f5 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 | head -2 | tail -1 | awk '{print $3}' | 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'