Delete docker image from dockerhub (v2 api)

In order to delete a docker image from a private dockerhub repository server you need to know the digest which can easyly be determined from the header of a manifest request for a specific image tag.

Get a list of available docker image tags for a certain image (`application/json` response):
$ curl --silent https://dockerhub.example.com/v2/NAME/tags/list

Having a list of image tags to determine the digest:
$ for tag in latest master-621d4bc master 1.0.0 1.0.1; do \
curl --silent --head -H "Accept: application/vnd.docker.distribution.manifest.v2+json" \
https://dockerhub.example.com/v2/NAME/manifests/${tag} | \
grep docker-content-digest; done | sort | uniq -c

Do delete a specific docker image use the relevant digest and curl a DELETE request to the dockerhub API:
$ curl --silent -X DELETE https://dockerhub.example.com/v2/NAME/manifests/${digest}

Javascript Image onload

Beispiel:
Beim Klick auf einen Link soll sich ein Overlay öffnen, in dem ein Bild angezeigt wird.

Das Overlay soll sich öffnen und zunächst eine „Loading“ Animation zeigen, so lange, bis das eigentliche Bild geladen ist und angezeigt werden kann.

Das Javascript:
loadImageObj = new Image();
loadImageObj.onload = function () {
/* nachdem das loading.gif geladen wurde, das Overlay anzeigen */
imageObj = new Image();
imageObj.onload = function () {
/* nachdem das gewünschte Bild geladen wurde,
das loading.gif gegen das gewünschte Bild austauschen */
};
imageObj.src = 'gewuenschtesbild.jpg';
};
loadImageObj.src = 'loader.gif';

Hinweis: Besonders wichtig ist, dass die Bild-Src erst nach der onload() Definition gesetzt wird, da sonst das Bild geladen wird, bevor das onload-Event definiert wurde! Je nach Browser kann dies sonst zu Problemen führen.

Nachtrag: Wenn das loading.gif ein (loop) animiertes Bild ist, führt dies im Internet-Explorer offensichtlich dazu, dass jeweils mit Ende, bzw. Beginn des neuen Loops das onload Event erneut ausgeführt wird, was zu einer Endlosschleife führt, das Overlay kann also nicht mehr geschlossen werden, da es direkt erneut geöffnet wird. In diesem Fall ist es wohl einfacher auf das onload für das loading.gif zu verzichten.