Wenn Sie Docker Registry bei localhost:5000
angeben, wie kann ich die Docker Registry HTTP API V2 und curl , um busybox:latest
zu löschen, das den folgenden Manifestheader und das folgende Manifest enthält:
Docker Registry klagt mit "HTTP / 1.1 404 Not Found" und "MANIFEST_UNKNOWN", wenn ich versuche, DELETE
image digest:
BITTE BEACHTEN SIE: Dieser API-Endpunkt wird nur in späteren Versionen der v2-Registrierung implementiert!
Es gibt einen internen Prozess Garbage Collection , der Bilder in der Registrierung löscht, aber der (noch) nicht Zugänglich über die v2 Registrierungs-API. Diese Funktion sieht so aus, als hätte sie eine Menge neuer Bewegungen, daher könnte sich diese Information ändern.
Gemäß der API-Spezifikation müssen Sie den Image Digest greifen, um DELETE dagegen auszuführen. Lesen Sie die Spezifikation sorgfältig und beachten Sie den Teil über die erforderliche Kopfzeile, wenn Sie nach dem richtigen Bildauszug fragen ("Hinweis Wenn Sie ein Manifest aus einer Registrierungsversion 2.3 oder höher löschen, muss die folgende Kopfzeile verwendet werden, wenn HEAD oder GET das Manifest abrufen soll der richtige zu löschende Auszug: Accept: application / vnd.docker.distribution.manifest.v2 + json ")
%Vor% Wenn Sie das tun, werden Sie dem Header Docker-Content-Digest
besondere Aufmerksamkeit schenken. In Ihrer speziellen Anfrage sieht dieser vollständige Header folgendermaßen aus:
Jetzt sollten Sie in der Lage sein, dieses Format mit dem Format zu verbinden, das von der API beschrieben wird, die Sie verlinkt haben :
%Vor%Und um das Beispiel zu verwenden, das ich oben verwendet habe, aber mit Ihrem Digest, sieht die Locke so aus:
%Vor% Dann sollten Sie einen 202 Accepted
response-code erhalten, der das erfolgreiche Löschen anzeigt.
Sie können auch das kurze Skript von diesem Gedanken ausprobieren:
%Vor%Sie müssen möglicherweise auch das Löschen in der Konfigurationsdatei aktivieren.
Siehe Ссылка
Tags und Links docker docker-registry