问题描述
我目前可以使用curl -u "oauth2accesstoken:token-value" https://gcr.io/v2/_catalog
来获取注册表中的容器列表,有没有办法通过网络应用程序做到这一点?
我尝试使用fetch('https://us.gcr.io/v2/_catalog',{method:'GET',headers:header }).then(res=>console.log(res)).catch(err=>console.log(err));
,但始终收到405 CORS错误。我做错什么了吗?还是这不可能?
我的标题是header.set('Authorization','Basic ' + btoa(username + ":" + password));
解决方法
因此,我通过使用ExpressJ设置代理服务器来工作,该代理服务器对us.gcr.io进行了HTTP调用。然后,我从我的react应用打了个电话到express应用,并能够获取数据:)
,我了解您要从GCR获取容器列表。
为此,您可以使用gcloud命令“ gcloud容器映像列表”
您可以在其文档参考[1]中找到更多详细信息。
按照说明:
“ gcloud的container images list命令列出了有关指定存储库中现有容器映像的元数据。存储库必须由Google Container Registry托管。”
另一方面,我发现了另一个可能为您服务的链接[2]。
[1] https://cloud.google.com/sdk/gcloud/reference/container/images/list
[2] How to get list of published docker images from GCP registry programmatically