From 5d6616194a1a2f9913663b343d635a726ed6d89a Mon Sep 17 00:00:00 2001 From: Walid Shouman Date: Wed, 6 Nov 2019 11:35:48 +0100 Subject: [PATCH 1/4] Add my custom aliases --- zshrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/zshrc b/zshrc index 0dcad60..efd08b0 100644 --- a/zshrc +++ b/zshrc @@ -46,3 +46,12 @@ dalias() { alias | grep 'docker' | sed "s/^\([^=]*\)=\(.*\)/\1 => \2/"| sed "s/[ # Bash into running container dbash() { docker exec -it $(docker ps -aqf "name=$1") bash; } + +# Show with special format +alias dformat="docker ps -a --format 'table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Image}}'" + +# Get containers by exact image/parent-image name +dpsi() { docker ps --filter "ancestor=$1"; } + +# Get containers even exited by exact image/parent-image name +dpsai() { docker ps -a --filter "ancestor=$1"; } From e3651781a44af2dc79fb5ad23f815cb50c340a1e Mon Sep 17 00:00:00 2001 From: Walid Shouman Date: Fri, 8 Nov 2019 12:33:47 +0100 Subject: [PATCH 2/4] Add remove image by tag --- zshrc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/zshrc b/zshrc index efd08b0..9504479 100644 --- a/zshrc +++ b/zshrc @@ -55,3 +55,7 @@ dpsi() { docker ps --filter "ancestor=$1"; } # Get containers even exited by exact image/parent-image name dpsai() { docker ps -a --filter "ancestor=$1"; } + +# Remove image by tag +# Usage: drmit 'part_of_image_name1\|image_name2' +drmit() { docker rmi $(docker images --format '{{.ID}} {{.Tag}}' | grep $1 | awk '{print $1;}' ); } From 61ee9696079bc523b0d0aff948ce262f7d21505d Mon Sep 17 00:00:00 2001 From: Walid Shouman Date: Fri, 8 Nov 2019 12:35:45 +0100 Subject: [PATCH 3/4] Rename drmit to drit and reorder --- zshrc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/zshrc b/zshrc index 9504479..566a6d4 100644 --- a/zshrc +++ b/zshrc @@ -38,6 +38,10 @@ alias drmf='docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)' # Remove all images dri() { docker rmi $(docker images -q); } +# Remove image by tag +# Usage: drmit 'part_of_image_name1\|image_name2' +drit() { docker rmi $(docker images --format '{{.ID}} {{.Tag}}' | grep $1 | awk '{print $1;}' ); } + # Dockerfile build, e.g., $dbu tcnksm/test dbu() { docker build -t=$1 .; } @@ -55,7 +59,3 @@ dpsi() { docker ps --filter "ancestor=$1"; } # Get containers even exited by exact image/parent-image name dpsai() { docker ps -a --filter "ancestor=$1"; } - -# Remove image by tag -# Usage: drmit 'part_of_image_name1\|image_name2' -drmit() { docker rmi $(docker images --format '{{.ID}} {{.Tag}}' | grep $1 | awk '{print $1;}' ); } From daaf51b8517830c6919b94b76c024759f796b6eb Mon Sep 17 00:00:00 2001 From: Walid Shouman Date: Fri, 8 Nov 2019 14:47:15 +0100 Subject: [PATCH 4/4] Fix drit Use xargs -r to do nothing when no images founds with the specified tag, instead of giving an error. Use xargs -n1 -P4 to speed up the removal. Add limitation --- zshrc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/zshrc b/zshrc index 566a6d4..855d926 100644 --- a/zshrc +++ b/zshrc @@ -40,7 +40,8 @@ dri() { docker rmi $(docker images -q); } # Remove image by tag # Usage: drmit 'part_of_image_name1\|image_name2' -drit() { docker rmi $(docker images --format '{{.ID}} {{.Tag}}' | grep $1 | awk '{print $1;}' ); } +# Not for use with numbers that could exist as IDs +drit() { docker images --format '{{.ID}} {{.Tag}}' | grep $1 | awk '{print $1;}' | xargs -n1 -P4 -r docker rmi; } # Dockerfile build, e.g., $dbu tcnksm/test dbu() { docker build -t=$1 .; }