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[*]}"))