【问题标题】:403 Forbidden when downloading a container image from the registry outside GCE403 Forbidden 当从 GCE 外部的 registry 下载容器镜像时
【发布时间】:2015-05-08 08:57:06
【问题描述】:

我正在尝试从运行在其他服务器(不是 GCE)中的 CoreOS 机器中的 Google 容器注册表下载图像。

我配置了一个新的服务帐号:

core@XXXX ~ $ docker run -t -i -v $(pwd)/keys:/tmp/keys --name gcloud-config ernestoalejo/google-cloud-sdk-with-docker gcloud auth activate-service-account XXXXXXX@developer.gserviceaccount.com --key-file /tmp/keys/key.p12 --project XXXX
Activated service account credentials for: [XXXXXXX@developer.gserviceaccount.com]

该帐户处于活动状态,但当我尝试下载容器映像时,它返回一个禁止的 HTTP 状态。

core@XXXX ~ $ /usr/bin/docker run --volumes-from gcloud-config --rm -v /var/run/docker.sock:/var/run/docker.sock ernestoalejo/google-cloud-sdk-with-docker sh -c "gcloud preview docker pull gcr.io/XXXXX/influxdb"
Pulling repository gcr.io/XXXXX/influxdb
time="2015-05-08T06:38:55Z" level="fatal" msg="HTTP code: 403" 
ERROR: (gcloud.preview.docker) A Docker command did not run successfully.
Tried to run: 'docker pull gcr.io/XXXXX/influxdb'
Exit code: 1

服务器中只有一个账号,并且配置正确:

core@XXXX ~ $ /usr/bin/docker run --volumes-from gcloud-config --rm -v /var/run/docker.sock:/var/run/docker.sock ernestoalejo/google-cloud-sdk-with-docker sh -c "gcloud auth list"

To set the active account, run:
  $ gcloud config set account ``ACCOUNT''

Credentialed accounts:
 - XXXXXXXXXXXXX@developer.gserviceaccount.com (active)

如何授权外部机器从注册表下载图片?

注意:图像ernestoalejo/google-cloud-sdk-with-dockergoogle/cloud-sdk 相同,但固定this issue

更新:我也尝试过this answer的解决方案,但没有任何区别。

PROJECT_ID=XXXXXX
ROBOT=XXXXXX@developer.gserviceaccount.com
gsutil acl ch -u $ROBOT:R gs://artifacts.$PROJECT_ID.appspot.com
gsutil -m acl ch -R -u $ROBOT:R gs://artifacts.$PROJECT_ID.appspot.com
gsutil defacl ch -u $ROBOT:R gs://artifacts.$PROJECT_ID.appspot.com

【问题讨论】:

    标签: google-container-registry


    【解决方案1】:

    看来,Digital Ocean 的新法兰克福地区根本无法访问 Google Container Registry。它总是返回 403 Forbidden。我在伦敦使用服务器后,一切都开始工作了。

    【讨论】:

    • 你能从法兰克福“curl gcr.io/v1/_ping”吗?该端点未经身份验证,因此 403 应该仅表示我们认为您的流量在某种程度上被更根本地禁止(例如来自朝鲜)。我会联系看看其他人是否看到过这样的事情,谢谢提醒。
    • 我想我已经达到了“gcr.io/v1/_ping”;但现在我再次尝试,我什至无法访问“gcr.io”。它总是返回“错误 403(禁止)!!1”HTML 页面。
    猜你喜欢
    • 2022-10-16
    • 2020-09-18
    • 2018-08-31
    • 2012-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-19
    相关资源
    最近更新 更多