首页 > 解决方案 > 如何以编程方式从 GCP 注册表中获取已发布的 docker 镜像列表

问题描述

我正在尝试查找一些 API(例如 java,但可能是其他一些)如何从谷歌云平台注册表中获取已发布的 docker 图像名称/标签。我发现如何使用 gcloud 控制台命令执行此操作:

gcloud container images list-tags gcr.io/[GCP_REPOSITORY_NAME]

它基本上给了我想要的东西,但它是控制台,我需要这些数据以编程方式在后端获取。有什么想法吗?提前致谢。

标签: javadockergoogle-cloud-platformdocker-registry

解决方案


目前,Google Container Registry 产品没有 REST API,但您可以使用 Registry 名称作为 URL ,并在 Java 代码中针对它运行HTTP 请求:

curl -u "oauth2accesstoken:yourAccessToken" https://gcr.io/v2/yourProject/yourImage/tags/list 

您可以accessToken使用命令获取gcloud auth print-access-token。推荐的方法是它属于一个 serviceAccount。

虽然我不确定Docker Registry HTTP API V2是否与 Google Container Registry 完全兼容,但这种特定方法对我有用。


推荐阅读