Работа с 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"
      ]
    }
    

См.также

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

Запустили Evolution free tier
для Dev & Test
Получить