searchGoogle容器registry

我一直在设置我的kubernetes集群,并且一直在使用Google Container Registry来存储图像。

作为我的设置的一部分,我正在构build一些工具,我需要search远程存储库中的图像(包括标记)。

所以我的问题是: 如何searchGoogle Cloud Registry的图像?

我已经试过运气不好使用docker cli做search:

 $ docker search eu.gcr.io/project-101 Error response from daemon: Unexpected status code 403 $ gcloud docker search eu.gcr.io/project-101 Error response from daemon: Unexpected status code 403 $ docker login -e not@val.id -u _token -p mytoken https://eu.gcr.io WARNING: login credentials saved in /Users/drwho/.docker/config.json Login Succeeded $ docker search eu.gcr.io/project-101 Error response from daemon: Unexpected status code 403 $ docker search eu.gcr.io/not-known Error response from daemon: Unexpected status code 404 

正如你所看到的,我尝试了很多不同的方法。 最后一个选项可能是使用Google Storage Bucket API并“手动”search文件系统。

通过1.7.0的Docker客户端只支持未经身份validation的search。 例如,如果您search:

 $ docker search gcr.io/google-containers/kube NAME DESCRIPTION STARS OFFICIAL AUTOMATED google-containers/hyperkube 0 google-containers/kube-apiserver 0 google-containers/kube-controller-manager 0 google-containers/kube-scheduler 0 google-containers/kube-ui 0 google-containers/kube2sky 0 google-containers/kubectl 0 

我提交了一个1.8.0的PR,将validationsearch,并为私人存储库类似的工作。

今天403(禁止)是因为Docker客户端实际上没有通过gcloud dockergcloud docker docker login设置的身份validation。

编辑:作为一种解决方法,只是curl端点不是太糟糕:

 $ curl -u _token:TOKEN "https://gcr.io/v1/search?q=QUERY" | \ python -mjson.tool 

您可以使用gcloud auth print-access-token生成TOKEN

我们支持<project-id>[/image-substring]forms的查询,例如google-containers/ube会匹配google-containers/kube2sky

奇怪的是,gcr.io不支持任何明显的search方式。 使用https://console.cloud.google.com/gcr/images/google-containers/GLOBAL进行search&#x3002;