Мы хотим проверить, существует ли изображение в общем реестре (Docker Hub), прежде чем мы начнем развертывание. С API v1 мы просто запросим https://index.docker.io/v1/repositories/gliderlabs/alpine/tags/3.2
.Что такое канонический способ увидеть, существует ли изображение в общедоступном реестре докеров?
Но теперь официальный API для реестра - v2, каков официальный способ проверки наличия изображения в public реестра?
v1
$ curl -i https://index.docker.io/v1/repositories/gliderlabs/alpine/tags/latest
HTTP/1.1 200 OK
Server: nginx/1.6.2
Date: Tue, 11 Aug 2015 10:02:09 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Vary: Cookie
X-Frame-Options: SAMEORIGIN
Strict-Transport-Security: max-age=31536000
[{"pk": 20307475, "id": "5bd56d81"}, {"pk": 20355979, "id": "511136ea"}]
v2:
$ curl -i https://index.docker.io/v2/repositories/gliderlabs/alpine/tags/latest
HTTP/1.1 301 MOVED PERMANENTLY
Server: nginx/1.6.2
Date: Tue, 11 Aug 2015 10:04:20 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
X-Frame-Options: SAMEORIGIN
Location: https://index.docker.io/v2/repositories/gliderlabs/alpine/tags/latest/
Strict-Transport-Security: max-age=31536000
$ curl -i https://index.docker.io/v2/repositories/gliderlabs/alpine/tags/latest/
HTTP/1.1 301 MOVED PERMANENTLY
Server: nginx/1.6.2
Date: Tue, 11 Aug 2015 10:04:26 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
X-Frame-Options: SAMEORIGIN
Location: https://registry.hub.docker.com/v2/repositories/gliderlabs/alpine/tags/latest/
Strict-Transport-Security: max-age=31536000
$ curl -i https://registry.hub.docker.com/v2/repositories/gliderlabs/alpine/tags/latest/
HTTP/1.1 200 OK
Server: nginx/1.6.2
Date: Tue, 11 Aug 2015 10:04:34 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Vary: Cookie
X-Frame-Options: SAMEORIGIN
Allow: GET, DELETE, HEAD, OPTIONS
Strict-Transport-Security: max-age=31536000
{"name": "latest", "full_size": 5250074, "id": 130839, "repository": 127805, "creator": 152141, "last_updater": 152141, "image_id": null, "v2": false}
не Я должен придерживаться v1
URL, даже если он сейчас вроде устаревшим или использовать v2
URL, но нет документация об этом? Если я использую v2
, должен ли я использовать непосредственно https://registry.hub.docker.com/v2/
или использовать https://index.docker.io/v1/
и следовать перенаправлениям?
Возможный дубликат: http://stackoverflow.com/ Вопросы/30113726/docker-registry-2-0-api-v2 – Kasisnu
Это не дубликат, связанный вопрос касается частного реестра, который вы можете запускать самостоятельно, этот вопрос касается публичного реестра, то есть докер-хаба. – jtblin
v2 api указан на https://github.com/docker/distribution/blob/master/docs/spec/api.md. Это часть проекта распространения, который позволяет запускать частный реестр. – Kasisnu