Docker SDK与Google容器注册表

2024-04-20 09:19:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我们想用Python查询gcr.io。然而,在撰写本文时,以下任何一项均不可能:

  • Docker SDK:client.images.list()仅列出本地映像
  • 没有用于GCR的Google客户端库
  • 图像存储在GCS中,但作为一个没有元数据的摘要大列表。无法分辨回购协议或标签
  • ^桌面中的{}是实验性的,不可用于查询GCR

唯一的“hack”是在子流程中执行gcloud container images list (and list-tags) xxx,并进行解析以提取所需的信息

我们也可以从GCP控制台(浏览器)解析HTML响应,但这将是更多的工作

关于如何在Python中轻松列出GCR图像,还有其他想法吗

对于Docker和Googlers,有没有计划扩展Python库以与远程注册表交互,尤其是*.gcr.io


Tags: 数据dockerio图像client协议客户端列表
1条回答
网友
1楼 · 发布于 2024-04-20 09:19:42

Google容器注册表实现the same Docker HTTP API与任何其他Docker注册表一样

首先,使用gcloud auth print-access-tokenone of these alternatives获取帐户的访问令牌

然后,使用HTTP API的Docker "Listing Repositories"端点:

>>> import requests
>>> access_token = ...
>>> resp = requests.get('https://gcr.io/v2/_catalog', auth=('_token', access_token))
>>> resp.json()
{
  "repositories": [
    <name>,
    ...
  ]
}

相关问题 更多 >