2016-08-05 12 views
5

die Docker Registry v2 hat eine API Endpunkt eine Bildlöschen Bild von Docker Registry v2

DELETE /v2/<name>/manifests/<reference> 

https://github.com/docker/distribution/blob/master/docs/spec/api.md#deleting-an-image

aber der Doc sagt zu löschen:

Für Löschungen, Referenz sein muss ein Digest oder das Löschen wird fehlschlagen.

die Tat mit einem tag nicht funktioniert und gibt 405 Operation Not Supported

Das Problem ist, es scheint nicht zu jedem Endpunkt, um die digest eines Bildes zu erhalten.

Die Endpunkte zum Auflisten von Bildern und Tags listet nur diese auf.

Der Versuch, das Manifest zu bekommen mit

GET /v2/<name>/manifests/<reference>  

mit der tag als <reference> ich sehe, dass ein Docker-Content-Digest Header mit einem digest eingestellt wird, die der Doc sagt, ist

Docker-Inhalt-Digest: Digest des Zielinhalts für die Anfrage.

während der Körper eine Reihe von blobSum: <digest>

enthält Wenn ich versuche, die Header-Digest-Wert verwenden, mit

GET /v2/<name>/manifests/<reference> 

und der digest als <reference>, erhalte ich eine 404.

die digest wie folgt aussieht: sha256:6367f164d92eb69a7f4bf4cab173e6b21398f94984ea1e1d8addc1863f4ed502

und ich versuchte, mit und ohne sha256 Präfix. aber kein glück

Also wie soll ich die digest des Bildes, das ich löschen möchte, um es zu löschen?

+1

usefule doc für Sie: https://github.com/docker/distribution/issues/1821 – BMW

+1

nützlich in der Tat ... aber irgendwie verrückt, dass dies der einzige ist Möglichkeit, die Digest-ID zu erhalten. – MrE

Antwort

2
curl -u login:password -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -X GET https://registry.private.com/v2/<name>/manifests/<tag> 

json> config> verdauen