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

denied: requested access to the resource is denied

注:我已成功登录docker


当前回答

我也有同样的问题。我强烈推荐大家浏览一下这个博客。

我的问题更多地与ACR有关。Docker客户端将引用配置。您的SP证书文件将存储在json文件中(角色所有者)。

博客中帮助我解决问题的部分有:

Docker镜像ls Docker标签.azurecr.io/:v1 Docker推送.azurecr.io/:v1

在此操作之前,我还创建了一个具有所有者特权的SP。

其他回答

我知道这个问题已经有很多答案了,但没有一个对我有帮助。

我观察到的是,构建映像非常快,并将其推到docker。IO导致错误:

denied: requested access to the resource is denied

我还注意到做一个

docker image ls

显示我的图像的最新构建是几天前的。

我必须做一个

docker container prune 

来摆脱停止的容器,和一个

docker image prune -a

为了摆脱旧的形象。 然后我就可以成功地建立和推广我的形象。

'denied:对资源的请求访问被拒绝'不是来自docker。我是本地码头工人。有趣的是,它在构建过程中并没有失败。

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

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

docker push docker.io/xyz/myrepo

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

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

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

我也面临着同样的问题,我给我的图像名称为something/image-name,但我尝试了<docker-hub-username>/image-name,它就像一个魅力。

步骤1

Docker登录——username=jp9573

步骤2

Docker push jp9573/todo

之前我给了jaypatel/todo,我只是把它改成了用户名/图像模式。通过这种方式,我不需要标记图像或任何东西。我认为这对新人来说是一种很好的方式。

登录docker后,您需要用前缀命名您的映像。

例如,如果你在docker-hub中的用户名是Shah,图像应该是:

Shah/firstimage

我在ibmcloud上也遇到了同样的错误。我添加了命名空间,然后试图推动我的图像,它解决了这个问题。

ibmcloud cr namespace-add txts