Wie kann man erkennen, ob ein Bild in der öffentlichen Docker-Registry vorhanden ist?

8

Wir möchten vor dem Start einer Bereitstellung prüfen, ob ein Bild in der öffentlichen Registry (Docker Hub) vorhanden ist. Mit der v1-API würden wir beispielsweise nur https://index.docker.io/v1/repositories/gliderlabs/alpine/tags/3.2 abfragen.

Aber jetzt ist die offizielle API für die Registrierung v2, was ist die offizielle Art, die Existenz eines Bildes in der public -Registrierung zu überprüfen?

v1

%Vor%

v2 :

%Vor%

Soll ich mich an die URL v1 halten, obwohl sie inzwischen veraltet ist oder v2 URLs verwendet, aber es gibt keine Dokumentation darüber? Wenn ich v2 verwende, soll ich direkt https://registry.hub.docker.com/v2/ verwenden oder immer noch https://index.docker.io/v1/ verwenden und den Weiterleitungen folgen?

    
jtblin 11.08.2015, 04:50
quelle

1 Antwort

1

Upstream download-frozen-image-v2.sh Skript sollte zumindest ein anständiges API Beispiel von Nutzen sein, hier ( Ссылка ).

Der Hauptschlüssel ist, dass Sie schlagen werden müssen, werden registry-1.docker.io anstatt index.docker.io , und dass Sie benötigen ein "Token" von auth.docker.io ( Ссылка ), auch wenn Sie nur ihr Interesse an schreibgeschützten Zugang zu einem öffentlichen Repository. Sobald Sie diese Token haben, können Sie schlagen https://registry-1.docker.io/v2/gliderlabs/alpine/manifests/latest mit einer Authorization Header, die entweder das JSON Manifest des Bildes zurückkehren oder mit einem 404-Fehler aus.

%Vor%     
tianon 18.12.2015 08:36
quelle