2015-05-08 4 views
0

Я пытаюсь загрузить изображение из реестра контейнера Google на машине CoreOS, работающей на другом сервере (не GCE).403 Запрещено при загрузке изображения контейнера из реестра вне GCE

Я установил новую учетную запись службы:

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

счет активен, но когда я пытаюсь загрузить контейнер изображения он возвращает статус запретной HTTP.

[email protected] ~ $ /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 

Существует только один аккаунт на сервере и настроен правильно:

[email protected] ~ $ /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: 
- [email protected] (active) 

Как я могу разрешить внешнюю машину, чтобы загрузить изображения из реестра?

Примечание: Изображение ernestoalejo/google-cloud-sdk-with-docker такое же, как google/cloud-sdk но с this issue фиксированной.

ОБНОВЛЕНИЕ: Я также пробовал решение this answer, но это не имеет значения.

PROJECT_ID=XXXXXX 
[email protected] 
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 

ответ

0

Кажется, что новый регион Франкфурта в Digital Ocean не может получить доступ к реестру Google Container Registry вообще. Он всегда возвращает 403 Forbidden. Как только я использовал сервер в Лондоне, все начинало работать.

+0

Можете ли вы «скрутить https://gcr.io/v1/_ping» из Франкфурта? Эта конечная точка неаутентифицирована, поэтому 403 должен означать только то, что ваш трафик несколько более принципиально запрещен (например, из Северной Кореи). Я протянусь, чтобы увидеть, видели ли другие что-то подобное, спасибо за головы. – mattmoor

+0

Я думаю, что я как-то достиг «https://gcr.io/v1/_ping»; но теперь, когда я снова пытаюсь, я даже не могу добраться до «gcr.io». Он всегда возвращает «Ошибка 403 (Запретная) !! 1» HTML-страница. – ernestoalejo

Смежные вопросы