mirror of
https://github.com/mag37/dockcheck.git
synced 2026-02-14 23:38:15 +01:00
cleanup
This commit is contained in:
parent
4b6173683b
commit
6a3c78d907
3 changed files with 0 additions and 7 deletions
51
extras/dc_brief.sh
Executable file
51
extras/dc_brief.sh
Executable file
|
|
@ -0,0 +1,51 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
### If not in PATH, set full path. Else just "regctl"
|
||||
regbin="regctl"
|
||||
### options to allow exclude:
|
||||
while getopts "e:" options; do
|
||||
case "${options}" in
|
||||
e) Exclude=${OPTARG} ;;
|
||||
*) exit 0 ;;
|
||||
esac
|
||||
done
|
||||
shift "$((OPTIND-1))"
|
||||
### Create array of excludes
|
||||
IFS=',' read -r -a Excludes <<< "$Exclude" ; unset IFS
|
||||
|
||||
SearchName="$1"
|
||||
|
||||
for i in $(docker ps --filter "name=$SearchName" --format '{{.Names}}') ; do
|
||||
for e in "${Excludes[@]}" ; do [[ "$i" == "$e" ]] && continue 2 ; done
|
||||
printf ". "
|
||||
RepoUrl=$(docker inspect "$i" --format='{{.Config.Image}}')
|
||||
LocalHash=$(docker image inspect "$RepoUrl" --format '{{.RepoDigests}}')
|
||||
### Checking for errors while setting the variable:
|
||||
if RegHash=$($regbin image digest --list "$RepoUrl" 2>/dev/null) ; then
|
||||
if [[ "$LocalHash" = *"$RegHash"* ]] ; then NoUpdates+=("$i"); else GotUpdates+=("$i"); fi
|
||||
else
|
||||
GotErrors+=("$i")
|
||||
fi
|
||||
done
|
||||
|
||||
### Sort arrays alphabetically
|
||||
IFS=$'\n'
|
||||
NoUpdates=($(sort <<<"${NoUpdates[*]}"))
|
||||
GotUpdates=($(sort <<<"${GotUpdates[*]}"))
|
||||
GotErrors=($(sort <<<"${GotErrors[*]}"))
|
||||
unset IFS
|
||||
|
||||
### List what containers got updates or not
|
||||
if [[ -n ${NoUpdates[*]} ]] ; then
|
||||
printf "\n\033[0;32mContainers on latest version:\033[0m\n"
|
||||
printf "%s\n" "${NoUpdates[@]}"
|
||||
fi
|
||||
if [[ -n ${GotErrors[*]} ]] ; then
|
||||
printf "\n\033[0;31mContainers with errors, wont get updated:\033[0m\n"
|
||||
printf "%s\n" "${GotErrors[@]}"
|
||||
fi
|
||||
if [[ -n ${GotUpdates[*]} ]] ; then
|
||||
printf "\n\033[0;33mContainers with updates available:\033[0m\n"
|
||||
printf "%s\n" "${GotUpdates[@]}"
|
||||
fi
|
||||
printf "\n\n"
|
||||
27
extras/errorCheck.sh
Executable file
27
extras/errorCheck.sh
Executable file
|
|
@ -0,0 +1,27 @@
|
|||
#!/usr/bin/env bash
|
||||
SearchName="$1"
|
||||
for i in $(docker ps --filter "name=$SearchName" --format '{{.Names}}') ; do
|
||||
echo "------------ $i ------------"
|
||||
ContPath=$(docker inspect "$i" --format '{{ index .Config.Labels "com.docker.compose.project.working_dir" }}')
|
||||
[ -z "$ContPath" ] && { "$i has no compose labels - skipping" ; continue ; }
|
||||
ContConfigFile=$(docker inspect "$i" --format '{{ index .Config.Labels "com.docker.compose.project.config_files" }}')
|
||||
ContName=$(docker inspect "$i" --format '{{ index .Config.Labels "com.docker.compose.service" }}')
|
||||
ContEnv=$(docker inspect "$i" --format '{{index .Config.Labels "com.docker.compose.project.environment_file" }}')
|
||||
ContImage=$(docker inspect "$i" --format='{{.Config.Image}}')
|
||||
|
||||
if [[ $ContConfigFile = '/'* ]] ; then
|
||||
ComposeFile="$ContConfigFile"
|
||||
else
|
||||
ComposeFile="$ContPath/$ContConfigFile"
|
||||
fi
|
||||
|
||||
echo -e "Service name:\t\t$ContName"
|
||||
echo -e "Project working dir:\t$ContPath"
|
||||
echo -e "Compose files:\t\t$ComposeFile"
|
||||
echo -e "Environment files:\t$ContEnv"
|
||||
echo -e "Container image:\t$ContImage"
|
||||
echo
|
||||
echo "Mounts:"
|
||||
docker inspect -f '{{ range .Mounts }}{{ .Source }}:{{ .Destination }}{{ printf "\n" }}{{ end }}' "$i"
|
||||
echo
|
||||
done
|
||||
Loading…
Add table
Add a link
Reference in a new issue