【问题标题】:Docker push needs user name to push to hubdocker push需要用户名推送到hub
【发布时间】:2021-03-23 16:33:59
【问题描述】:

我正在尝试推送到 docker,但它说它说需要授权。我知道要解决这个问题,我打算在 docker push 之前添加我的用户名。 我使用以下方法构建了一个 docker 映像:

docker build -t registry.heroku.com/myapp/web .

这会在我的 docker hub 中构建一个图像。 我确保我已登录到我的 docker,并确保我已构建并登录了 heroku 容器。

heroku login
heroku container: login

然后当我尝试做 docker push 时:

docker push myname/registry.heroku.com/myapp/web

然后我收到一条错误消息:An image does not exist locally with the tag: myname/registry.heroku.com/myapp/web

当我执行docker images 时,它会出现我创建的图像registry.heroku.com/myapp/web

有谁知道我做错了什么?

【问题讨论】:

  • 如果您被允许推送到registry.heroku.com(即docker login 成功)然后您docker push registry.heroku.com/myapp/web,与您标记图像的名称相同;无需在开头重复您的用户名。
  • "我知道要解决这个问题,我需要在 docker push 之前添加我的用户名。" - 这似乎与您收到的错误消息相矛盾。我会质疑。

标签: python docker docker-image


【解决方案1】:

您已经构建了 registry.heroku.com/myapp/web 图像并尝试推送 myname/registry.heroku.com/myapp/web ,这绝对不是存在。

  • 你需要推送你已经构建的同名镜像。

  • Heroku 不接受带有 myname/registry.heroku.com/myapp/web 的图像。应该是 registry.heroku.com/myapp/web

  • 所以尝试推送图片(正确

    docker push registry.heroku.com/myapp/web
    
  • myname/registry.heroku.com/myapp/web不正确

    • 登录heroku cli
      heroku container:login
      
    • 使用 docker 和 Heroku 的身份验证令牌登录 Heroku 注册表
      docker login --username=_ --password=$(heroku auth:token) registry.heroku.com
      
    • 推送图片
      docker push registry.heroku.com/myapp/web
      

关注This Heroku Document推送图片

【讨论】:

  • 感谢您的回答。但是,当我这样做时,我得到一个错误,上面写着denied: requested access to the resource is denied
  • @Kitchen 如果您还没有安装 Heroku cli,请安装并执行以下命令。登录 Heroku heroku container:login。使用 docker 和 Heroku 的身份验证令牌 docker login --username=_ --password=$(heroku auth:token) registry.heroku.com 登录 Heroku 容器注册表。推送图片docker push registry.heroku.com/myapp/web
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-17
  • 1970-01-01
  • 1970-01-01
  • 2022-10-06
相关资源
最近更新 更多