我正在按照这个链接创建我的第一个docker映像,它成功了,现在我试图从这个链接将这个映像推到我的docker存储库中。但是每当我试图将这个映像推入存储库时,我就会得到这种类型的错误。

denied: requested access to the resource is denied

注:我已成功登录docker


当前回答

不知道docker hub发生了什么,但没有一个解决方案对我有效。以下是截至2018年1月,我最终管用的变通办法:

访问hub.docker.com并将存储库更改为private 在你的shell中:

码头工人的图片

存储库标记映像id创建大小 1.975 GB 1.955 GB 1.954 GB

docker 标签 bb38976d03cf dockhub用户名/verse_gapminder:mytag

Docker登录Docker .io

docker push dockhusersername /verse_gapminder:mytag

回到docker hub,将repo更改为public。 这对我很管用。

其他回答

在使用Gitlab注册表时,我还遇到了这个错误消息。不同之处在于,我试图从以前的构建中更改映像的名称。这里的问题是,推送图像的注册表不存在,因为图像的新名称与我组中的任何项目都不匹配。

TLDR:在Gitlab中,映像名称必须与项目名称匹配。

这个答案既适用于我未来的自己,也适用于其他人。当我正确登录时,我遇到了这个确切的问题,但是当我的私人回购数量大于或等于我的计划允许的限制时,我正试图推到一个私人回购。

我不太确定我是如何能够创建太多的私人回购,但如果我的计划包括5个私人回购,以某种方式我有6个,那么这是我将收到的错误:

Denied:拒绝访问资源的请求

在我的情况下,可能我最终有太多的私有存储库,因为我把我的默认可见性设置为私有:

这是你决定你可以拥有多少私人回购的地方:

一旦我公开了这个有问题的回购,问题就变得显而易见了:

我也有这个问题,我测试了这里的解决方案,但无济于事,我已经正确登录,至少根据docker登录的输出,但我仍然无法推送图像。最终奏效的方法很简单:

码头工人注销

然后docker登录,就这么简单。我不知道发生了什么,但强迫重新登录起作用了。

Docker对私有存储库的数量也有限制。如果您正在通过从本地机器推入创建私有存储库,则它将创建存储库,但不能再向其推入或从其拉出任何其他内容,并且您将得到“对资源的请求访问被拒绝”错误。

另一个(非常聪明的)原因是:你的计划已经没有私人回购了。