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

denied: requested access to the resource is denied

注:我已成功登录docker


当前回答

我真的希望这能帮助到一些人(像我一样先看最终答案的人):

我不断地尝试输入

docker push user/repo/tag

而不是

docker push user/repo:tag

因为我也这样做了我的标签:

docker tag image user/repo/tag

...一切都毁了。

我真诚地希望你不要重蹈我的覆辙。我在这上面浪费了30分钟…

其他回答

推送所有标签

使用-a来推。S.t. docker push username/image -a

拒绝访问可能是由于docker存储库权限不是公共的(你可以再次检查)

你需要拉一下看看是否可以。

在hub.docker.com中查看

打开“标签”查看成功推送后所有可用的标签

我在Windows 10上使用了这个方法

码头工人登录

我在上码头工人初级课程时也遇到了同样的问题。我通过在docker push调用之前进行adocker登录来解决这个问题。

docker处理用户id和存储库的方式可能有点令人困惑。 假设您在docker hub上创建了一个用户帐户xyz。新帐户自动建立名称空间xyz。 然后创建一个名为myrepo的存储库。存储库名称实际上是xyz/myrepo。

要推送一个图像,你应该做:

docker push docker.io/xyz/myrepo

如果需要,可以添加“:latest”或其他标签。

如果你得到的资源访问请求被拒绝错误消息:

访问https://hub.docker.com/并以xyz登录。 单击存储库xyz/myrepo。 点击合作者。 添加xyz作为合作者。

如果在使用Azure容器注册表时遇到此问题,可以先登录到注册表来解决。

docker login yourregistry.azurecr.io

然后标记您的映像以匹配注册表的主机名。

docker image tag yourimagename:[version] yourregistry.azurecr.io/yourimagename:[version]

最后按一下。

docker push yourregistry.azurecr.io/yourimagename:[version]