正在搜索Google容器注册表

时间:2015-07-22 09:23:02

标签: docker docker-registry google-kubernetes-engine google-container-registry

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

作为我设置的一部分,我正在构建一些工具,我需要在远程存储库中搜索图像,包括标签。

所以我的问题是: 如何在Google Cloud Registry中搜索图片?

我试过没有运气使用docker cli进行搜索:

$ 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并手动搜索文件系统"。

2 个答案:

答案 0 :(得分:14)

通过1.7.0的Docker客户端仅支持未经身份验证的搜索。例如,如果您搜索:

$ 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,用于验证搜索,并且对私有存储库的工作方式类似。

今天403(Forbidden)是因为Docker客户端实际上没有通过gcloud dockerdocker login设置的身份验证。

编辑:作为一种解决方法,仅仅CURL端点并不是太糟糕了:

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

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

我们支持<project-id>[/image-substring]表单的查询,例如google-containers/ube将与google-containers/kube2sky匹配。

答案 1 :(得分:11)

奇怪的是,gcr.io并不以任何明显的方式支持搜索。使用https://console.cloud.google.com/gcr/images/google-containers/GLOBAL进行搜索。

相关问题