0

他のサーバー (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

サーバーには 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-dockerは と同じですgoogle/cloud-sdkが、この問題は修正されています。

更新:この回答の解決策も試しましたが、違いはありません。

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
4

1 に答える 1

0

デジタル オーシャンの新しいフランクフルト リージョンは、Google Container Registry にまったくアクセスできないようです。常に 403 Forbidden を返します。ロンドンのサーバーを使用するとすぐに、すべてが機能し始めました。

于 2015-05-08T16:50:14.473 に答える