dockcheck/dockcheck_function.sh
2023-01-18 20:55:51 +01:00

23 lines
794 B
Bash

#!/bin/bash
### Requires the regctl binary, either in PATH or as an alias
### Get it here: https://github.com/regclient/regclient/releases
### Preferably placed in .bashrc or similar
### if regctl is not in PATH, set the alias:
alias regctl="/path/to/regctl"
dockcheck () {
if [[ -z "$1" ]]; then
echo "No container name given, here's the list of currently running containers:"
docker ps --format '{{.Names}}'
else
RepoUrl=$(docker inspect "$1" --format='{{.Config.Image}}')
LocalHash=$(docker image inspect "$RepoUrl" --format '{{.RepoDigests}}' | sed -e 's/.*sha256/sha256/' -e 's/\]$//')
RegHash=$(regctl image digest --list "$RepoUrl")
if [[ "$LocalHash" != "$RegHash" ]] ; then printf "Updates available.\n" ; else printf "Already latest.\n" ; fi
fi
}