Не удалось отправить изображение Docker из Jenkins на экземпляр GCE в реестр контейнера Google - PullRequest
3 голосов
/ 30 октября 2019

Я пытаюсь выдвинуть образ докера из jenkins, настроенного на вычислительном движке с учетной записью службы по умолчанию. Но происходит сбой с этой ошибкой:

[Docker] ОШИБКА: не удалось отправить изображение gcr.io/project-id/sms-impl:work ОШИБКА: сбой шага сборки с исключением com.github. dockerjava.api.exception.DockerClientException: не удалось отправить изображение: не авторизовано: у вас нет необходимых разрешений для выполнения этой операции, и у вас могут быть неверные учетные данные. Чтобы подтвердить подлинность вашего запроса, выполните следующие действия: https://cloud.google.com/container-registry/docs/advanced-authentication

Что мне нужно сделать?

Ответы [ 2 ]

0 голосов
/ 01 ноября 2019

Для аутентификации в реестре контейнеров используйте gcloud в качестве помощника по учетным данным Docker. Для этого выполните следующую команду:

gcloud auth configure-docker

Эту команду необходимо выполнить один раз для аутентификации в Реестре контейнеров. Мы настоятельно рекомендуем вам использовать этот метод, когда это возможно. Он обеспечивает безопасный кратковременный доступ к ресурсам вашего проекта. Пожалуйста, следуйте инструкциям как ссылка 1 .

0 голосов
/ 30 октября 2019

В нижней части страницы, на которую была сделана ссылка, вы увидите дополнительную ссылку на Использование GCR с GCP , в частности, В этом разделе описано, что вам нужно сделать.

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

Несколько способов сделать это:

  • Когда вы создаете экземпляр с помощью gcloud, укажите --scopes https://www.googleapis.com/auth/devstorage.read_write
  • В консоли выберите область действия или выберите «все области», например:

options for scopes on instance create page

(... многолинии областей опущены ...)

correct setting for storage scope

При необходимости можно также добавить области после факта, отредактировав экземпляр, пока он остановлен.

Обратите внимание, что для создания сегмента first для проекта могут дополнительно потребоваться права администратора.

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