Nach https://docs.docker.com/registry/spec/api/ kann ich /v2/<name>/tags/list
aufrufen, um eine Liste der Tags für ein bestimmtes Bild zu erhalten. Es funktioniert gut, z. B .:Wie lautet der API-Endpunkt der Docker-Registry v2, um den Digest für ein Image zu erhalten?
{"name"=>"avi/test", "tags"=>["latest"]}
Allerdings möchte ich die Digest für jedes Tag. Ja, der "Digest" ist eigentlich der Hash des Manifests (zumindest wie ich es am besten aus der API verstehe; nicht 100% klar). Allerdings möchte ich wissen, was eine eindeutige Kennung für "neueste" (und jedes andere Tag) ist.
Anwendungsfall: Ich hätte jemand eine Version als letzten Tag, und will, dass der tit zu prüfen, auf dem neuesten Stand ist:
docker push avi/test:2.6
docker tag avi/test:2.6 avi/test:latest
docker push avi/test:latest
# build 2.7
docker push avi/test:2.7
# oops! Forgot to tag latest to 2.7
Im obigen Fall, wenn ich nicht nur die Tags überprüfen - die wird mir "2.6", "2.7", "neueste" - aber auch die Digest (zumindest der Manifest), kann ich finden, was verschiedene Tags zeigen, Audit, etc.
Ohhh, das habe ich in der Spezifikation verpasst. Also wenn ich 'HEAD/v2/avi/test/manifesten/neuste 'oder' HEAD/v2/avi/test/manifesten/2.7' tue, sollte die Kopfzeile für 'Docker-Content-Digest' eindeutig sein, damit ich Versionen vergleichen kann ? – deitch
Ja, der 'Docker-Content-Digest'-Header sollte Ihnen geben, was Sie brauchen. –
Danke, Ryan, sehr geschätzt. Ich habe eine einfache Registrierung: 2 Ruby Juwel, die eine Suche macht, bekommt Tags und jetzt können Hashes zu vergleichen. Perfekt. https://github.com/deitch/docker_registry2 – deitch