Название: K8s Applications mit MicroK8S auf Raspberry PI
Автор: Alfred Sabitzer
Издательство: Bookwire
Жанр: Математика
isbn: 9783742770134
isbn:
docker_registry="docker.registry:5000"
# Prüfung ob gesetzt, sonst liefert die Shell hier eine Fehlermeldung
string="${1}"
#echo "${string}"
prefix=":"
suffix=""
xrepo=${string%"$prefix"*}
#echo "${xrepo}"
xtag=${string#"$xrepo$prefix"}
#echo "${xtag}"
xtag=${xtag%"$suffix"*}
#echo "${xtag}"
tags=$(curl -sSL "http://${docker_registry}/v2/${xrepo}/tags/list" | jq -r '.tags[]')
for tag in $tags; do
if [ "${tag} " = "${xtag} " ] ;
then
echo "Lösche "$xrepo:$tag
curl -v -k -X DELETE "http://${docker_registry}/v2/${xrepo}/manifests/$(
curl -k -s -I \
-H "Accept: application/vnd.docker.distribution.manifest.v2+json" \
"http://${docker_registry}/v2/${xrepo}/manifests/${xtag}" \
| awk '$1 == "Docker-Content-Digest:" { print $2 }' \
| tr -d $'\r' \
)"
fi
done
#
Dieses Skript löscht einen angegeben tag, wenn er gefunden wird.
Ein typischer Löschprozess sieht dann so aus:
alfred@bureau:~$ '/home/alfred/svn/trunk/k8s/dev/registry_list.sh'
chrony
chrony:latest
chrony:20211123-1273
chrony:20211123-1275
hello-world
hello-world:20211003
pgmaster
pgmaster:20211125-1327
pgmaster:20211125-1337
pgmaster:20211125-1340
pgmaster:20211125-1339
pgmaster:latest
pgmaster:20211125-1345
pgmaster:20211125-1343
pgmaster:20211125-1334
pgmaster:20211125-1336
pgmaster:20211125-1341
webdefault
webdefault:20211123-1292
webdefault:20211123-1293
webserver
webserver:20211124-1329
webserver:20211124-1321
webserver:20211124-1315
webserver:20211124-1331
webserver:20211124-1305
webserver:20211125-1333
webserver:20211124-1324
webserver:latest
webserver:20211125-1345
webserver:20211124-1306
webserver:20211124-1319
webserver:20211123-1305
webserver:20211124-1328
webserver:20211124-1312
webserver:20211124-1307
webserver:20211124-1327
webserver:20211125-1344
webserver:20211124-1330
webserver:20211124-1314
webserver:20211124-1320
webserver:20211124-1317
webserver:20211124-1332
alfred@bureau:~$ '/home/alfred/svn/trunk/k8s/dev/registry_delete.sh' webdefault:20211123-1293
Lösche webdefault:20211123-1293
* Trying 192.168.0.213:5000...
* Connected to docker.registry (192.168.0.213) port 5000 (#0)
> DELETE /v2/webdefault/manifests/sha256:ede78ca033eba1314667d5c6ced6a279833908d162ffe9103d7d1af42d53b6c7 HTTP/1.1
> Host: docker.registry:5000
> User-Agent: curl/7.74.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 202 Accepted
< Docker-Distribution-Api-Version: registry/2.0
< X-Content-Type-Options: nosniff
< Date: Thu, 25 Nov 2021 20:55:23 GMT
< Content-Length: 0
<
* Connection #0 to host docker.registry left intact
alfred@bureau:~$ '/home/alfred/svn/trunk/k8s/dev/registry_delete.sh' webdefault:20211123-1293
alfred@bureau:~$
Mit diesen beiden Skripts kann man sich die Images anzeigen lassen, und alte Images löschen.
Zertifikate und LetsEncrypt
Inspiration: