Не удается пройти аутентификацию в Реестре контейнеров Google, используя файл ключа JSON из GCR - PullRequest
0 голосов
/ 11 января 2020

Я [полагаю, что] настроил инструментарий и конфигурацию аналогично между моей локальной системой и системами сборки.

Я могу запустить это успешно, локально:

$ cat key.json | docker login -u _json_key --password-stdin https://us.gcr.io
WARNING! Your password will be stored unencrypted in /home/local/MAGICLEAP/doprea/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

.. но та же команда не выполняется из задания, которое выполняется в GCE:

cat key.json | docker login -u _json_key --password-stdin https://us.gcr.io
error getting credentials - err: exit status 1, out: `docker-credential-gcr/helper: could not retrieve GCR's access token: metadata: GCE metadata "instance/service-accounts/default/token?scopes=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform" not defined`

Кажется, что действительно нужно найти токен в метаданных экземпляра, а не просто использовать файл, который я ему даю.

Я мог бы воспользоваться некоторым советом.

1 Ответ

0 голосов
/ 11 января 2020

Может быть проблема с файлом «.docker / config.json», вы можете сравнить файл «config.json» между вашей локальной системой и системами сборки.

Выполнение следующих команд в вашем система сборки для проверки состояния и файл конфигурации docker, пожалуйста, убедитесь, что «docker -credential-gcr» установлен перед устранением неполадок.

$ docker -v

$ docker -credential-gcr configure- docker

$ cat ~ / .docker / config. json

$ docker login -u oauth2accesstoken -p "$ ( gcloud auth print-access-token) "https://us.gcr.io

Я рекомендую эти темы « Загрузка и извлечение изображений » и « Методы аутентификации » для устранения неполадок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...