我正在按照这个链接创建我的第一个docker映像,它成功了,现在我试图从这个链接将这个映像推到我的docker存储库中。但是每当我试图将这个映像推入存储库时,我就会得到这种类型的错误。
denied: requested access to the resource is denied
注:我已成功登录docker
我正在按照这个链接创建我的第一个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-credential-helpers,并遵循一般指导原则进行设置),请尝试检查步骤,看看是否遗漏了任何内容。
例如,我使用pass作为docker的凭据库,当我只是按照顶部搜索结果设置pass时,错过了为专用的pass-name docker- credial -helpers/docker-pass- initialization -check插入我的dockerhub帐户密码的步骤。
在发出以下命令后,docker push终于对我发了慈悲。
pass insert docker-credential-helpers/docker-pass-initialized-check
更多细节请看这个答案。
这个答案既适用于我未来的自己,也适用于其他人。当我正确登录时,我遇到了这个确切的问题,但是当我的私人回购数量大于或等于我的计划允许的限制时,我正试图推到一个私人回购。
我不太确定我是如何能够创建太多的私人回购,但如果我的计划包括5个私人回购,以某种方式我有6个,那么这是我将收到的错误:
Denied:拒绝访问资源的请求
在我的情况下,可能我最终有太多的私有存储库,因为我把我的默认可见性设置为私有:
这是你决定你可以拥有多少私人回购的地方:
一旦我公开了这个有问题的回购,问题就变得显而易见了:
在我把“docker login https://hub.docker.com”改成“docker login docker”之后,它就工作了。并提供用户名和密码。
然后执行以下命令:
docker tag local-image:tagname new-repo:tagname
docker push new-repo:tagname
注意:"new-repo"将包含"Docker ID + Repo名称"
这里,在运行以下命令之前,我已经在Docker Hub中创建了“ubuntu”repo。
例子:
docker tag alok/ubuntu:latest aloktiwari2007/ubuntu:latest
docker push aloktiwari2007/ubuntu:latest
在使用Gitlab注册表时,我还遇到了这个错误消息。不同之处在于,我试图从以前的构建中更改映像的名称。这里的问题是,推送图像的注册表不存在,因为图像的新名称与我组中的任何项目都不匹配。
TLDR:在Gitlab中,映像名称必须与项目名称匹配。
我有一个类似的问题,我通过创建一个具有相同映像名称的存储库来解决它,然后将它推到docker,它工作了