7.6. 使用 API 创建已镜像的机构


要使用 API 在 Red Hat Quay 中创建镜像机构,您可以使用 curl 和 OAuth bearer 令牌向机构镜像 API 端点发送 HTTP 请求。您可以创建和更新镜像设置,读取配置和已镜像的存储库,启动或取消同步,验证外部 registry,并删除设置。

注意

无法在现有已包含存储库的组织上配置机构级别镜像。必须创建一个专用的机构来充当镜像目标,机构中的所有存储库都专门用于镜像配置。

先决条件

  • 您已生成了 OAuth 访问令牌。

流程

  1. 使用 POST /api/v1/organization/{orgname}/mirror 端点创建一个新的机构级镜像配置:

    $ curl -X POST "https://<quay-server.example.com>/api/v1/organization/<orgname>/mirror" \
      -H "Authorization: Bearer <access_token>" \
      -H "Accept: application/json" \
      -H "Content-Type: application/json" \
      -d '{
        "external_registry_type": "quay",
        "external_registry_url": "https://quay.io",
        "external_namespace": "<external_namespace>",
        "robot_username": "<orgname>+<robot_account>",
        "visibility": "private",
        "sync_interval": 3600,
        "sync_start_date": "2025-01-01T00:00:00Z",
        "is_enabled": true
      }'
  2. 使用 GET /api/v1/organization/{orgname}/mirror 端点来检索机构级镜像配置:

    $ curl -X GET \
      -H "Authorization: Bearer <bearer_token>" \
      -H "Accept: application/json" \
      https://<quay-server.example.com>/api/v1/organization/<orgname>/mirror

    输出示例

    {"is_enabled": true, "external_registry_type": "quay", "external_registry_url": "http://quay.io", "external_namespace": "test", "external_registry_username": null, "external_registry_config": {}, "repository_filters": [], "robot_username": "example+test", "visibility": "private", "sync_interval": 3600, "sync_start_date": "2025-01-01T00:00:00Z", "sync_expiration_date": null, "sync_status": "NEVER_RUN", "sync_retries_remaining": 3, "skopeo_timeout": 300, "creation_date": "2026-03-09T18:39:21.993431Z"}

  3. 使用 GET /api/v1/organization/{orgname}/mirror/repositories 端点获取要在机构中镜像的存储库列表:

    $ curl -X GET \
      -H "Authorization: Bearer <bearer_token>" \
      -H "Accept: application/json" \
      "https://<quay-server.example.com>/api/v1/organization/<orgname>/mirror/repositories?page=1&limit=100"

    输出示例

    {"repositories": [], "page": 1, "limit": 100, "total": 0, "has_next": false}

  4. 使用 POST /api/v1/organization/{orgname}/mirror/sync-now 端点来触发机构中所有存储库的立即同步:

    $ curl -X POST \
      -H "Authorization: Bearer <bearer_token>" \
      -H "Accept: application/json" \
      https://<quay-server.example.com>/api/v1/organization/<orgname>/mirror/sync-now

    此命令不会在 CLI 中返回输出。

  5. 使用 POST /api/v1/organization/{orgname}/mirror/sync-cancel 端点取消机构中所有存储库的待处理的同步:

    $ curl -X POST \
      -H "Authorization: Bearer <bearer_token>" \
      -H "Accept: application/json" \
      https://<quay-server.example.com>/api/v1/organization/<orgname>/mirror/sync-cancel

    此命令不会在 CLI 中返回输出。

  6. 使用 PUT /api/v1/organization/{orgname}/mirror 端点来更新机构级镜像配置:

    $ curl -X PUT \
      -H "Authorization: Bearer <bearer_token>" \
      -H "Accept: application/json" \
      -H "Content-Type: application/json" \
      -d '{"is_enabled": true, "sync_interval": 7200}' \
      https://<quay-server.example.com>/api/v1/organization/<orgname>/mirror

    输出示例

    " "

  7. 使用 POST /api/v1/organization/{orgname}/mirror/verify 端点来验证与机构级别镜像配置的外部 registry 的连接:

    $ curl -X POST \
      -H "Authorization: Bearer <bearer_token>" \
      -H "Accept: application/json" \
      https://<quay-server.example.com>/api/v1/organization/<orgname>/mirror/verify

    输出示例

    {"success": false, "message": "Unexpected response: 301"}

  8. 使用 DELETE /api/v1/organization/{orgname}/mirror 端点删除机构级镜像配置:

    $ curl -X DELETE \
      -H "Authorization: Bearer <bearer_token>" \
      -H "Accept: application/json" \
      https://<quay-server.example.com>/api/v1/organization/<orgname>/mirror

    此命令不会在 CLI 中返回输出。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部