Работа с Docker registry через API

Рассмотрим пример использования Docker registry, который включает в себя следующие шаги:

  1. Аутентификация в Docker registry с помощью метода GET public/v2/docker_registry/v1/users/generate_password.

  2. Тегирование образа с помощью метода POST public/v2/docker_registry/v2/tags/. В теле запроса должен быть передан идентификатор образа image_id, для которого создается тег, название образа name и цвет color.

    {
    "image_id" : "3fa85f64-5717-4562-b3fc-2c963f66afa6" ,
    "name" : "string" ,
    "color" : "string"
    }
  3. Загрузка образа в Docker registry.

  4. Чтение списка репозиториев в Docker registry с помощью методов:

  5. Добавление репозитория в избранное

    POST public/v2/docker_registry/v2/repositories/{repository_id}/fav. Добавляет репозиторий в избранное. Пример тела запроса:

    { "favorite" : true / false }
  6. Чтение конкретного репозитория. Метод возвращает список образов в конкретном репозитории.

    GET public/v2/docker_registry/v2/images/?repository_id={repository_id}.

  7. Изменение репозитория.

    PUT public/v2/docker_registry/v2/repositories/{repository_id}

  8. Чтение образов в репозитории. Метод возвращает информацию по конкретному образу.

    GET public/v2/docker_registry/v2/images/»image_id».

  9. Чтение тега для образа. Метод возвращает информацию по тегам у конкретного образа.

    GET public/v2/docker_registry/v2/tags/?image_id=44b5e14a-3919-11ea-8f8f-3a4ce9d1e497.

  10. Создание нового тега.

    POST public/v2/docker_registry/v2/tags/.

    {
    "image_id" : "3fa85f64-5717-4562-b3fc-2c963f66afa6" ,
    "name" : "string" ,
    "color" : "string"
    }
  11. Изменение тега

    PUT public/v2/docker_registry/v2/tags/{tag_id}. В адресе запроса необходимо передать tag_id, для которого производятся изменения. Метода меняет цвет тега, в теле передается новое значение.

    {
    "color" : "string"
    }
  12. Удаление тега. Метод удаляет тег образа из репозитория, в теле передается id удаляемого образа image_id.

    DELETE public/v2/docker_registry/v2/tags/.

    {
    "tag_ids" : [
    "3fa85f64-5717-4562-b3fc-2c963f66afa6"
    ]
    }
  13. Удаление образа.

    DELETE public/v2/docker_registry/v2/images/.

    {
    "image_ids" : [
    "3fa85f64-5717-4562-b3fc-2c963f66afa6"
    ]
    }
  14. Удаление репозитория. В теле передается id репозитория

    DELETE public/v2/docker_registry/v2/repositories/.

    {
    "repository_ids" : [
    "3fa85f64-5717-4562-b3fc-2c963f66afa6"
    ]
    }
См.также

Актуальная спецификация (автодокументация по методам)

ML Space