Kann ich eine Bildzusammenfassung erhalten, ohne das Bild herunterzuladen?

Ähnlich wie bei der Frage " Was ist der sha256-Code eines Docker-Images? ", Ich möchte das Digest eines Docker-Bildes finden. Ich kann das Digest sehen, wenn ich ein Bild herunterlade:

$ docker pull waisbrot/wait:latest                                                                                                  
latest: Pulling from waisbrot/wait
Digest: sha256:6f2185daa4ab1711181c30d03f565508e8e978ebd0f263030e7de98deee5f330
Status: Image is up to date for waisbrot/wait:latest
$

Eine andere Frage,Was ist der Docker Registry v2 API-Endpunkt, um die Zusammenfassung für ein Bild abzurufen? hat eine Antwort, die das @ vorschläDocker-Content-Digest Header

Ich kann sehen, dass es ein @ giDocker-Content-Digest Header, wenn ich das Manifest für das Bild hole:

$ curl 'https://auth.docker.io/token?service=registry.docker.io&scope=repository:waisbrot/wait:pull' -H "Authorization: Basic ${username_password_base64}"

# store the resulting token in DT

$ curl -v https://registry-1.docker.io/v2/waisbrot/wait/manifests/latest -H "Authorization: Bearer $DT" -XHEAD
*   Trying 52.7.141.30...
* Connected to registry-1.docker.io (52.7.141.30) port 443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
* Server certificate: *.docker.io
* Server certificate: RapidSSL SHA256 CA - G3
* Server certificate: GeoTrust Global CA
> GET /v2/waisbrot/wait/manifests/latest HTTP/1.1
> Host: registry-1.docker.io
> User-Agent: curl/7.43.0
> Accept: */*
> Authorization: Bearer LtVRw-etc-etc-etc
>
< HTTP/1.1 200 OK
< Content-Length: 4974
< Content-Type: application/vnd.docker.distribution.manifest.v1+prettyjws
< Docker-Content-Digest: sha256:128c6e3534b842a2eec139999b8ce8aa9a2af9907e2b9269550809d18cd832a3
< Docker-Distribution-Api-Version: registry/2.0
< Etag: "sha256:128c6e3534b842a2eec139999b8ce8aa9a2af9907e2b9269550809d18cd832a3"
< Date: Wed, 07 Sep 2016 16:37:15 GMT
< Strict-Transport-Security: max-age=31536000

Dieser Header ist jedoch nicht derselbe. Daspull Befehl hat mich6f21 und die Überschrift zeigt128c. Außerdem funktioniert der Pull-Befehl für diesen Digest nicht:

$ docker pull waisbrot/wait@sha256:128c6e3534b842a2eec139999b8ce8aa9a2af9907e2b9269550809d18cd832a3                               
Error response from daemon: manifest unknown: manifest unknown

wenn die Dinge so funktionieren, wie ich es will, wenn ich die richtige Zusammenfassung habe:

$ docker pull waisbrot/wait@sha256:6f2185daa4ab1711181c30d03f565508e8e978ebd0f263030e7de98deee5f330                                 12:46  waisbrot@influenza
sha256:6f2185daa4ab1711181c30d03f565508e8e978ebd0f263030e7de98deee5f330: Pulling from waisbrot/wait
Digest: sha256:6f2185daa4ab1711181c30d03f565508e8e978ebd0f263030e7de98deee5f330
Status: Image is up to date for waisbrot/wait@sha256:6f2185daa4ab1711181c30d03f565508e8e978ebd0f263030e7de98deee5f330

Was ich suche, ist eine Möglichkeit, das @ zu übersetzlatest tag (das ändert sich ständig) in einen festen Digest, den ich zuverlässig ziehen kann. Aber ich möchte es nicht wirklich runterziehen, um diese Übersetzung zu machen.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage