相关疑难解决方法(0)

在没有gcloud客户端的情况下访问谷歌容器注册表

我有一个CoreOS docker主机,我想开始运行容器,但是在尝试使用docker命令从google容器私有注册表中获取映像时(https://cloud.google.com/tools/container-registry/),我得到了403.我做了一些搜索,但我不确定如何附加身份验证(或者在哪里生成用户+传递包以与docker login命令一起使用).

有没有人从谷歌私人容器中获取任何运气?我无法安装gcloud命令,因为coreos没有附带python,这是一个要求

docker run -p 80:80 gcr.io/prj_name/image_name
Unable to find image 'gcr.io/prj_name/image_name:latest' locally
Pulling repository gcr.io/prj_name/image_name
FATA[0000] HTTP code: 403
Run Code Online (Sandbox Code Playgroud)

更新:从@mattmoor和@Jesse获得答案后:

我正在拉的机器确实有devaccess

curl -H 'Metadata-Flavor: Google' http://metadata.google.internal./computeMetadata/v1/instance/service-accounts/default/scopes
https://www.googleapis.com/auth/bigquery
https://www.googleapis.com/auth/cloud-platform
https://www.googleapis.com/auth/compute
https://www.googleapis.com/auth/datastore
----> https://www.googleapis.com/auth/devstorage.read_only
https://www.googleapis.com/auth/logging.admin
https://www.googleapis.com/auth/sqlservice.admin
https://www.googleapis.com/auth/taskqueue
https://www.googleapis.com/auth/userinfo.email
Run Code Online (Sandbox Code Playgroud)

另外,我尝试使用_token登录方法

jenkins@riskjenkins:/home/andre$ ACCESS_TOKEN=$(curl -H 'Metadata-Flavor: Google' 'http://metadata.google.internal./computeMetadata/v1/instance/service-accounts/default/token' | cut -d'"' -f 4)
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   142  100   142    0     0  14686      0 …
Run Code Online (Sandbox Code Playgroud)

google-compute-engine gcloud google-container-registry

31
推荐指数
3
解决办法
1万
查看次数

如何从浏览器访问Google Cloud Storage存储桶中的文件?

我正在使用Google Cloud Storage为我的Google App Engine应用程序存储图像,而我正在尝试访问这些图像:

<img src="https://storage.googleapis.com/BUCKET_NAME/IMAGE_NAME">
Run Code Online (Sandbox Code Playgroud)

但是,这会显示"拒绝访问"或向我显示Google登录提示.然后我尝试使用签名URL授予客户端访问权限.

我生成了要签名的URL,如下所示:

String HTTP_Verb = "GET";
String Expiration = "1361993085";
String Canonicalized_Resource = "/bucket_name/sub_directory";
String stringToSign = HTTP_Verb + "\n" + Expiration + "\n" + Canonicalized_Resource;
Run Code Online (Sandbox Code Playgroud)

然后使用p12文件生成Base64并使用Java编译,但是我收到此错误:

The request signature we calculated does not match the signature you provided. Check your Google secret key and signing method.
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?有没有办法可以在没有身份验证的情况下从GCS访问图像?

google-cloud-storage

11
推荐指数
3
解决办法
6729
查看次数