Назад | Перейти на главную страницу

GCP: нет доступа к реестру контейнеров из Compute Engine

У меня есть образ Docker, помещенный в реестр контейнеров Google по адресу gcr.io/my-project/my-image:latest. В том же проекте я создал экземпляр Google Compute Engine на основе COS (оптимизированная для контейнеров ОС) с доступом для чтения к Google Storage (по умолчанию включен). Я также предоставил доступ для чтения к Хранилищу Google его служебной учетной записи.

Однако я не могу извлечь изображение из экземпляра GCE:

$docker pull gcr.io/my-project/my-image:latest
Error response from daemon: repository gcr.io/my-project/my-image not found: does not exist or no pull access

В Док говорит:

Чтобы получить частные образы Docker из экземпляра Compute Engine, убедитесь, что у вашего экземпляра есть разрешение на чтение для корзины образа. По умолчанию это настроено правильно, если ваш экземпляр и корзина изображений находятся в одном проекте Google Cloud Platform.

Эта команда автоматически регистрирует клиент Docker в GCR:

docker-credential-gcr configure-docker

Если вы хотите отправить образ в ОС, оптимизированную для контейнеров, вам нужно просто проверить [Развернуть образ контейнера в этом экземпляре виртуальной машины] и указать путь к образу реестра {gcr.io/my-project/my-image} в отображаемое поле при создании экземпляра COS. вы можете найти больше информации Вот

Чтобы получить изображения из реестра Google Cloud, вам необходимо использовать относительный gcloud команда.

Обратите внимание, что если вы используете стандартный инструмент командной строки Docker, вам придется вручную настроить авторизацию, поскольку он не знает о разрешениях Google или о том, что такое учетная запись службы.

gcloud docker -- pull gcr.io/my-project/my-image

Вы можете проверить соответствующую документацию Вот.

Если ваше приложение не может использовать gcloud инструмент командной строки для аутентификации в реестре контейнеров Google, вы можете использовать docker login непосредственно для аутентификации. Это позволяет использовать сторонние решения для непрерывной интеграции и технологию управления кластером с контейнерным реестром. Вы можете проверить дополнительную информацию Вот.