Docker «Вход выполнен успешно», но по-прежнему не может отправить в частный реестр GCP

У меня возникают проблемы, когда я загружаю свой образ докера в свой частный реестр GCP. Я создал новую учетную запись службы с ролью владельца из Google Cloud Platform. Затем я создал служебный ключ и скопировал содержимое json-файла (который я загрузил из учетной записи службы) в переменную $ GCP_SERVICE_KEY в переменных Gitlab CI / CD.

Это мой файл .gitlab-ci.yaml:

image: python:3.6

stages:
  - push

before_script:
  - mkdir -p $HOME/.docker
  - echo "$GCP_SERVICE_KEY" >> "$HOME/.docker/config.json"

dockerpush:
  stage: push
  image: docker:stable
  services:
    - docker:dind
  script:
    - docker build --build-arg MONGODB_URI=$MONGODB_URI -t my_image_name .
    - docker login -u _json_key --password-stdin https://gcr.io < $HOME/.docker/config.json
    - docker tag my_image_name eu.gcr.io/my_project_id/my_image_name
    - docker push eu.gcr.io/my_project_id/my_image_name

Когда я проверяю журналы консоли, я вижу «Вход выполнен успешно». Но я не могу нажать на мой реестр GCP. Я проверил Project ID, Roles of my user, вроде все в порядке. Но почему я все еще вижу ошибку «неавторизованный»?

$ docker login -u _json_key -p "$GCP_SERVICE_KEY" https://gcr.io
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

$ docker tag my_image_name eu.gcr.io/my_project_id/my_image_name   
$ docker push eu.gcr.io/my_project_id/my_image_name   
The push refers to repository   
Preparing   
Preparing   
unauthorized: You don't have the needed permissions to perform this operation, and you may have invalid credentials.  
To authenticate your request, follow the steps in: https://cloud.google.com/container-registry/docs/advanced-authentication
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
1
0
903
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы входите в систему на https://gcr.io, но нажимаете на https://eu.gcr.io

Обновите свою команду docker login до https://eu.gcr.io

МОЙ БОГ! Такая ошибка! Большое тебе спасибо!

cell-in 19.12.2018 10:50

Другие вопросы по теме