2016-02-03 11 views
6

Zgodnie z mogę zadzwonić pod numer /v2/<name>/tags/list, aby uzyskać listę znaczników dla danego obrazu. Działa to dobrze, np .:Co to jest punkt końcowy interfejsu API rejestru dokowania v2, aby uzyskać skrót do obrazu?

{"name"=>"avi/test", "tags"=>["latest"]} 

Chciałbym jednak wytrawienie dla każdego tagu. Tak, "digest" jest faktycznie hashem manifestu (przynajmniej tak jak najlepiej zrozumiałem to z API, a nie w 100% jasne). Chciałbym jednak wiedzieć, jaki jest unikalny identyfikator dla "najnowszego" (i każdego innego tagu).

przypadków użycia: Może mam kogoś oznaczyć wersję jako ostatni, a chcesz sprawdzić cycek jest aktualne:

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 

W powyższym przypadku, jeśli mogę sprawdzić nie tylko znaczniki - co dadzą mi "2.6", "2.7", "najnowsze" - ale także skrót (przynajmniej manifest), znajdę na czym wskazują różne znaczniki, audyt itp.

Odpowiedz

6

AFAIK, nie ma digest API. Jednak zgodnie z v2 API spec można wykonać żądanie HEAD lub GET przeciwko /v2/<name>/manifests/<reference>. Odpowiedź będzie obejmować nagłówek Docker-Content-Digest zawierający wyciąg z określonego manifestu (np. latest).

+0

Ohhh, przegapiłem to w specyfikacji. Więc jeśli wykonuję 'HEAD/v2/avi/test/manifestests/latest' lub' HEAD/v2/avi/test/manifestests/2.7', to nagłówek 'Docker-Content-Digest' powinien być unikalny i mogę porównywać wersje ? – deitch

+0

Tak, nagłówek 'Docker-Content-Digest' powinien dać ci to, czego potrzebujesz. –

+0

Dzięki, Ryan, bardzo doceniany. Mam prosty rejestr: 2 klejnoty Ruby, które wyszukują, pobierają znaczniki, a teraz będą mogły uzyskać skróty do porównania. Idealny. https://github.com/deitch/docker_registry2 – deitch

Powiązane problemy