Merge pull request #41 from elchanly/elchanly-patch-1

Update dockcheck.sh to include stopped containers
This commit is contained in:
mag37 2023-08-28 21:26:12 +02:00 committed by GitHub
commit 29c2c5e961
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
VERSION="v0.2.4" VERSION="v0.2.5"
### ChangeNotes: Fixes to the Exclude-option to only exclude exact matches. +cleaning ### ChangeNotes: Added an -s option to include stopped contianers in the check.
Github="https://github.com/mag37/dockcheck" Github="https://github.com/mag37/dockcheck"
RawUrl="https://raw.githubusercontent.com/mag37/dockcheck/main/dockcheck.sh" RawUrl="https://raw.githubusercontent.com/mag37/dockcheck/main/dockcheck.sh"
@ -26,15 +26,18 @@ Help() {
echo "-e Exclude containers, separated by comma." echo "-e Exclude containers, separated by comma."
echo "-p Auto-Prune dangling images after update." echo "-p Auto-Prune dangling images after update."
echo "-r Allow updating images for docker run, wont update the container" echo "-r Allow updating images for docker run, wont update the container"
echo "-s Include stopped containers in the check. (Logic: docker ps -a)"
} }
while getopts "aynprhe:" options; do Stopped=""
while getopts "aynprhse:" options; do
case "${options}" in case "${options}" in
a|y) UpdYes="yes" ;; a|y) UpdYes="yes" ;;
n) UpdYes="no" ;; n) UpdYes="no" ;;
r) DrUp="yes" ;; r) DrUp="yes" ;;
p) PruneQ="yes" ;; p) PruneQ="yes" ;;
e) Exclude=${OPTARG} ;; e) Exclude=${OPTARG} ;;
s) Stopped="-a" ;;
h|*) Help ; exit 0 ;; h|*) Help ; exit 0 ;;
esac esac
done done
@ -162,7 +165,7 @@ if [[ -n ${Excludes[*]} ]] ; then
fi fi
### Check the image-hash of every running container VS the registry ### Check the image-hash of every running container VS the registry
for i in $(docker ps --filter "name=$SearchName" --format '{{.Names}}') ; do for i in $(docker ps $Stopped --filter "name=$SearchName" --format '{{.Names}}') ; do
### Looping every item over the list of excluded names and skipping: ### Looping every item over the list of excluded names and skipping:
for e in "${Excludes[@]}" ; do [[ "$i" == "$e" ]] && continue 2 ; done for e in "${Excludes[@]}" ; do [[ "$i" == "$e" ]] && continue 2 ; done
printf ". " printf ". "