Работа с Docker registry через API
Рассмотрим пример использования Docker registry, который включает в себя следующие шаги:
Аутентификация в Docker registry с помощью метода GET public/v2/docker_registry/v1/users/generate_password.
Тегирование образа с помощью метода POST public/v2/docker_registry/v2/tags/. В теле запроса должен быть передан идентификатор образа image_id, для которого создается тег, название образа name и цвет color.
{"image_id" : "3fa85f64-5717-4562-b3fc-2c963f66afa6" ,"name" : "string" ,"color" : "string"}Загрузка образа в Docker registry.
Чтение списка репозиториев в Docker registry с помощью методов:
GET public/v2/docker_registry/v2/repositories/ — возвращает список репозиториев в докер Docker registry.
GET public/v2/docker_registry/v2/registries/current — возвращает информацию по Docker registry, привязанному к текущему воркспейсу.
GET public/v2/docker_registry/v2/repositories/{repository_id}, — возвращает информацию по конкретному репозиторию. В адресе передается repository_id.
Добавление репозитория в избранное
POST public/v2/docker_registry/v2/repositories/{repository_id}/fav. Добавляет репозиторий в избранное. Пример тела запроса:
{ "favorite" : true / false }Чтение конкретного репозитория. Метод возвращает список образов в конкретном репозитории.
GET public/v2/docker_registry/v2/images/?repository_id={repository_id}.
Изменение репозитория.
PUT public/v2/docker_registry/v2/repositories/{repository_id}
Чтение образов в репозитории. Метод возвращает информацию по конкретному образу.
Чтение тега для образа. Метод возвращает информацию по тегам у конкретного образа.
GET public/v2/docker_registry/v2/tags/?image_id=44b5e14a-3919-11ea-8f8f-3a4ce9d1e497.
Создание нового тега.
POST public/v2/docker_registry/v2/tags/.
{"image_id" : "3fa85f64-5717-4562-b3fc-2c963f66afa6" ,"name" : "string" ,"color" : "string"}Изменение тега
PUT public/v2/docker_registry/v2/tags/{tag_id}. В адресе запроса необходимо передать tag_id, для которого производятся изменения. Метода меняет цвет тега, в теле передается новое значение.
{"color" : "string"}Удаление тега. Метод удаляет тег образа из репозитория, в теле передается id удаляемого образа image_id.
DELETE public/v2/docker_registry/v2/tags/.
{"tag_ids" : ["3fa85f64-5717-4562-b3fc-2c963f66afa6"]}Удаление образа.
DELETE public/v2/docker_registry/v2/images/.
{"image_ids" : ["3fa85f64-5717-4562-b3fc-2c963f66afa6"]}Удаление репозитория. В теле передается id репозитория
DELETE public/v2/docker_registry/v2/repositories/.
{"repository_ids" : ["3fa85f64-5717-4562-b3fc-2c963f66afa6"]}
Актуальная спецификация (автодокументация по методам)