mirror of
https://github.com/mag37/dockcheck.git
synced 2026-04-17 18:07:46 +00:00
added some more functionality
Added help section. Added getops for options. Added -a for auto update Added -n for no updates. Added $1 use to filter what containers.
This commit is contained in:
38
dockcheck.sh
38
dockcheck.sh
@@ -1,5 +1,36 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Help Function:
|
||||||
|
Help() {
|
||||||
|
echo "Syntax: dockcheck.sh [OPTION] [part of name to filter]"
|
||||||
|
echo "Example: dockcheck.sh -a ng"
|
||||||
|
echo
|
||||||
|
echo "Options:"
|
||||||
|
echo "-h Print this Help."
|
||||||
|
echo "-a Automatic updates, without interaction."
|
||||||
|
echo "-n No updates, only checking availability."
|
||||||
|
}
|
||||||
|
|
||||||
|
while getopts "anh" options; do
|
||||||
|
case "${options}" in
|
||||||
|
a)
|
||||||
|
UpdYes="yes"
|
||||||
|
;;
|
||||||
|
n)
|
||||||
|
UpdYes="no"
|
||||||
|
;;
|
||||||
|
h|*) # help or unknown option:
|
||||||
|
Help
|
||||||
|
exit 0;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
### Set $1 back to $1 (ignoring the places held by getops)
|
||||||
|
shift "$((OPTIND-1))"
|
||||||
|
|
||||||
|
### Set $1 to a variable for later
|
||||||
|
SearchName="$1"
|
||||||
|
|
||||||
### Check if required binary exists in PATH or directory:
|
### Check if required binary exists in PATH or directory:
|
||||||
if [[ $(builtin type -P "regctl") ]]; then
|
if [[ $(builtin type -P "regctl") ]]; then
|
||||||
regbin="regctl"
|
regbin="regctl"
|
||||||
@@ -26,9 +57,8 @@ else
|
|||||||
fi
|
fi
|
||||||
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 --format '{{.Names}}')
|
for i in $(docker ps --filter "name=$SearchName" --format '{{.Names}}')
|
||||||
do
|
do
|
||||||
printf ". "
|
printf ". "
|
||||||
RepoUrl=$(docker inspect "$i" --format='{{.Config.Image}}')
|
RepoUrl=$(docker inspect "$i" --format='{{.Config.Image}}')
|
||||||
@@ -53,8 +83,10 @@ fi
|
|||||||
|
|
||||||
### Optionally get updates if there's any
|
### Optionally get updates if there's any
|
||||||
if [ -n "$GotUpdates" ] ; then
|
if [ -n "$GotUpdates" ] ; then
|
||||||
|
if [ -z "$UpdYes" ] ; then
|
||||||
printf "\n\033[36;1mDo you want to update? y/[n]\033[0m\n"
|
printf "\n\033[36;1mDo you want to update? y/[n]\033[0m\n"
|
||||||
read UpdYes
|
read UpdYes
|
||||||
|
else
|
||||||
if [ "$UpdYes" != "${UpdYes#[Yy]}" ] ; then
|
if [ "$UpdYes" != "${UpdYes#[Yy]}" ] ; then
|
||||||
for i in "${GotUpdates[@]}"
|
for i in "${GotUpdates[@]}"
|
||||||
do
|
do
|
||||||
@@ -67,7 +99,7 @@ if [ -n "$GotUpdates" ] ; then
|
|||||||
else
|
else
|
||||||
printf "\nNo updates installed, exiting.\n"
|
printf "\nNo updates installed, exiting.\n"
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
printf "\nNo updates available, exiting.\n"
|
printf "\nNo updates available, exiting.\n"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user