From f91ca08d54d1bec54e6c71d02d091045807b013f Mon Sep 17 00:00:00 2001 From: elchanly <49251727+elchanly@users.noreply.github.com> Date: Mon, 21 Aug 2023 23:56:03 +0200 Subject: [PATCH] Update dockcheck.sh to include stopped containers as suggested in reddit, this is proposed to include stopped containers take into account im not skilled in this programming language but i wanted to contribute. --- dockcheck.sh | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/dockcheck.sh b/dockcheck.sh index bc8673b..9c1cdfa 100755 --- a/dockcheck.sh +++ b/dockcheck.sh @@ -25,16 +25,18 @@ Help() { echo "-n No updates, only checking availability." echo "-e Exclude containers, separated by comma." echo "-p Auto-Prune dangling images after update." - echo "-r Allow updating images for docker run, wont update the container" + echo "-s Check stopped containers" + echo "-r Allow updating images for docker run, wont update the container" } -while getopts "aynprhe:" options; do +while getopts "aynprhse:" options; do case "${options}" in a|y) UpdYes="yes" ;; n) UpdYes="no" ;; r) DrUp="yes" ;; p) PruneQ="yes" ;; e) Exclude=${OPTARG} ;; + s) Stopped="yes" ;; h|*) Help ; exit 0 ;; esac done @@ -161,9 +163,18 @@ if [[ -n ${Excludes[*]} ]] ; then printf "\n" fi +if [ "$Stopped" == "yes" ]; then + Cadena="$(docker ps -a --filter "name=$SearchName" --format '{{.Names}}')"; + + else + Cadena="$(docker ps --filter "name=$SearchName" --format '{{.Names}}')"; + + +fi + ### Check the image-hash of every running container VS the registry -for i in $(docker ps --filter "name=$SearchName" --format '{{.Names}}') ; do - ### Looping every item over the list of excluded names and skipping: +for i in ${Cadena} ; do + ### Looping every item over the list of excluded names and skipping: for e in "${Excludes[@]}" ; do [[ "$i" == "$e" ]] && continue 2 ; done printf ". " RepoUrl=$(docker inspect "$i" --format='{{.Config.Image}}') @@ -176,6 +187,10 @@ for i in $(docker ps --filter "name=$SearchName" --format '{{.Names}}') ; do fi done + + + + ### Sort arrays alphabetically IFS=$'\n' NoUpdates=($(sort <<<"${NoUpdates[*]}"))