Проблема аутентификации Google GCP с докерами - PullRequest
0 голосов
/ 07 января 2019

Мне нужно поработать с некоторыми ранее загруженными образами докеров, хранящимися в хабах gcr.io от Google.

Я делаю это с компьютера с Windows 10 со стандартными установками Docker и Google Cloud SDK (без Homebrew или чего-либо подобного).

После установки разрешений для моей учетной записи gmail в разделе IAM GCP, я по-прежнему получаю это сообщение об ошибке при использовании этого в PowerShell:

docker pull gcr.io/blabla/blabla:latest

Ошибка ответа от демона: неавторизовано: у вас нет необходимого разрешения на выполнение этой операции, и у вас могут быть недействительными полномочия. Чтобы подтвердить подлинность вашего запроса, выполните следующие действия: https://cloud.google.com/container-registry/docs/advanced-authentication

При повторной настройке аутентификации я получаю эти сообщения об ошибках

C: \ Program Files (x86) \ Google \ Cloud SDK> gcloud auth configure-docker

ВНИМАНИЕ: docker-credential-gcloud отсутствует в системном PATH. gcloud-х Помощник по учетным данным Docker может быть настроен, но он не будет работать, пока это исправлено.

ВНИМАНИЕ: docker отсутствует в системном PATH. docker и docker-credential-gcloud должны быть в том же PATH, чтобы работать правильно вместе. Помощник по учетным данным в gcloud может быть настроен, но не будет работать, пока это не будет исправлено.

При поиске решений я наткнулся на эту ветку , которая, похоже, использует команды macOS. Я нашел альтернативу Windows для «который», то есть «где», давая это:

C:\Program Files (x86)\Google\Cloud SDK>where gcloud
C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\bin\gcloud
C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\bin\gcloud.cmd
C:\Users\l.cai\AppData\Local\Google\Cloud SDK\google-cloud-sdk\bin\gcloud
C:\Users\l.cai\AppData\Local\Google\Cloud SDK\google-cloud-sdk\bin\gcloud.cmd

Но у меня много проблем с пониманием этого поста, объясняющего альтернативу readlink . Замена частей этого синтаксиса на filepath либо дает

'' не распознается как внутренняя или внешняя команда

или

Система не может найти указанный путь.

Многострочные команды также плохо работают в Windows PowerShell или CMD, поэтому я не уверен, куда они вводят команды.

Может кто-нибудь помочь мне с этим? Большое спасибо заранее.

Ответы [ 2 ]

0 голосов
/ 10 января 2019

Нашел решение: Войдите в саму Windows с учетной записью администратора. Ни одно из других исправлений / обсуждений, упомянутых в моем OP, не оказалось релевантным.

У меня была учетная запись локального администратора, но поскольку она была настроена недавно, я привык входить в свою обычную рабочую учетную запись (не администратор) и вводить только учетные данные локального администратора по мере необходимости (например, при запуске программ с повышенные привилегии).

Таким образом, docker, powershell и cloud SDK могут быть запущены индивидуально с правами администратора, но где-то в цепочке он разрывается, и мне ничего не предлагают. Вход в систему с учетной записью администратора позволяет обойти это.

0 голосов
/ 07 января 2019

Ваша проблема в том, что ни gcloud, ни docker не настроены правильно для пользователя, в который вы вошли как. Следующее является временным решением. Вам следует переустановить Docker и облачный SDK.

Убедитесь, что оба компонента пути ниже верны, и отрегулируйте их для своих установок.

Откройте командную строку Windows и выполните:

set PATH=C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\bin;C:\Program Files\Docker\Docker\Resources\bin;%PATH%
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...