无法将 Docker 映像推送到 GCP 容器注册表 [权限错误]

问题描述 投票:0回答:2

我正在尝试将 Docker 映像推送到 Google Cloud 平台上的容器注册表中。我能够在本地计算机上成功构建图像。我尝试了以下命令:

sudo docker push eu.gcr.io/$PROJECT_ID/$CONTAINER_NAME

我收到权限被拒绝的错误:

未经授权:您没有执行此操作所需的权限,并且您的凭据可能无效。要验证您的请求,请按照以下步骤操作:https://cloud.google.com/container-registry/docs/advanced-authentication

我尝试按照提供的链接中的步骤进行操作,特别是 gcloud credential helper 说明。我也尝试了

gcloud auth configure-docker
gcloud auth login
,但都无济于事。关于 IAM 权限,我的个人电子邮件被列为所有者和存储管理员角色。我还手动设置了具有所有者和存储管理员角色的服务帐户。我的
$GOOGLE_APPLICATION_CREDENTIALS
环境变量指向从这个手动创建的服务帐户中提取的 json 文件。
gcloud auth configure-docker
提供以下输出:

WARNING: Your config file at [/home/awa5114/.docker/config.json] contains these credential helper entries:

{
  "credHelpers": {
    "gcr.io": "gcloud",
    "us.gcr.io": "gcloud",
    "eu.gcr.io": "gcloud",
    "asia.gcr.io": "gcloud",
    "staging-k8s.gcr.io": "gcloud",
    "marketplace.gcr.io": "gcloud"
  }
}
Adding credentials for all GCR repositories.
WARNING: A long list of credential helpers may cause delays running 'docker build'. We recommend passing the registry name to configure only the registry you are using.
gcloud credential helpers already registered correctly.

此时,我不明白为什么我被拒绝将此映像推送到容器注册表的权限。接下来我可以尝试什么?

docker google-cloud-platform
2个回答
1
投票

我终于让它发挥作用了。我做了两件事:

  • 使用其网站上的官方说明完全重新安装 docker。
  • 不要sudo
     命令之前使用 
    docker push
    ....

0
投票
我通过重新启动 docker 引擎解决了这个错误

© www.soinside.com 2019 - 2024. All rights reserved.