我正在按照这个链接创建我的第一个docker映像,它成功了,现在我试图从这个链接将这个映像推到我的docker存储库中。但是每当我试图将这个映像推入存储库时,我就会得到这种类型的错误。
denied: requested access to the resource is denied
注:我已成功登录docker
我正在按照这个链接创建我的第一个docker映像,它成功了,现在我试图从这个链接将这个映像推到我的docker存储库中。但是每当我试图将这个映像推入存储库时,我就会得到这种类型的错误。
denied: requested access to the resource is denied
注:我已成功登录docker
当前回答
有时,当您已经使用另一个帐户登录时,可能会遇到此问题。在这些情况下,你必须:
docker logout
然后
docker login
其他回答
还需要注意的重要一点是,在标记图像时,首先使用命名空间标记,然后使用存储库/ mydevrepo标记。这让我在使用Docker文档时感到困惑。之后我使用:
docker login
然后我使用“tagged name”来推送我的图像。
docker push {namespace}/mydevrepo
对于那些试图将映像推送到自己的Nexus存储库管理器的人,请执行以下操作:
1)登录到您的Nexus存储库管理器(端口8443与特定的Docker主机存储库相关联)
sudo docker login xxx.mydomain.com:8443
2)标记图像与您的NEXUS服务器IP/DNS
sudo docker tag myimage:latest xxx.mydomain.com:8443/myimage:1.0.0
3)推送图片
sudo docker push xxx.mydomain.com:8443/myimage:1.0.0
步骤1:修改docker帐号的隐私模式
https://hub.docker.com/settings/default-privacy
第二步:执行屏幕短片中提到的以下命令:
码头工人的图片 docker tag <<TAG_ID>> <<USER_NAME>>/<<IMAGE_NAME>>:最新的 Docker登录Docker .io docker push <<USER_NAME>>/<<IMAGE_NAME>>:最新的
输出:
我在Azure管道中遇到了类似的问题。我错过了在repository部分添加docker-id。
在Azure中,在推送时,如果仅使用名称,例如<repo-name>,可能无法工作。它需要完全限定的回购名称,其中还包括docker-id。
Use
repository: '<docker-id>/<repo-name>'
而不是
repository: '<repo-name>'
管道代码片段:
- task: Docker@2
inputs:
containerRegistry: 'service-connection-name'
repository: '<docker-id>/<repo-name>'
Docker中心计划对命名空间可以使用的私有存储库数量有限制。例如,免费计划将只允许您在任何时间点为一个帐户使用一个私有存储库。
如果你在计划的限制之内,那么你的努力就会成功。否则,将创建一个带有适当标记的空存储库,但图像本身不会被推送。
在我的例子中,我在推送图像之前使用web控制台将存储库创建为公共。