我正在按照这个链接创建我的第一个docker映像,它成功了,现在我试图从这个链接将这个映像推到我的docker存储库中。但是每当我试图将这个映像推入存储库时,我就会得到这种类型的错误。
denied: requested access to the resource is denied
注:我已成功登录docker
我正在按照这个链接创建我的第一个docker映像,它成功了,现在我试图从这个链接将这个映像推到我的docker存储库中。但是每当我试图将这个映像推入存储库时,我就会得到这种类型的错误。
denied: requested access to the resource is denied
注:我已成功登录docker
当前回答
如果在使用Azure容器注册表时遇到此问题,可以先登录到注册表来解决。
docker login yourregistry.azurecr.io
然后标记您的映像以匹配注册表的主机名。
docker image tag yourimagename:[version] yourregistry.azurecr.io/yourimagename:[version]
最后按一下。
docker push yourregistry.azurecr.io/yourimagename:[version]
其他回答
我也有同样的问题。我强烈推荐大家浏览一下这个博客。
我的问题更多地与ACR有关。Docker客户端将引用配置。您的SP证书文件将存储在json文件中(角色所有者)。
博客中帮助我解决问题的部分有:
Docker镜像ls Docker标签.azurecr.io/:v1 Docker推送.azurecr.io/:v1
在此操作之前,我还创建了一个具有所有者特权的SP。
在我把“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
登录docker后,您需要用前缀命名您的映像。
例如,如果你在docker-hub中的用户名是Shah,图像应该是:
Shah/firstimage
不允许误导标签名称。 我的解决方法是:
Command 1(Create Tag): docker tag my-nginx:latest rsachde/nginx-repository/trys:1.0 (Didn't push)
Command 2(Push): docker push rsachde/nginx-repository/try:1.0
输出:
Denied:拒绝访问资源的请求
Command 1.1(Create Tag): docker tag my-nginx:latest rsachde/nginx-repository/:trys
Command 2.2(Push): docker push rsachde/nginx-repository:trys
输出:
trys: digest: sha256:405b6f0ae25772ef71b8f59fd6a56ff9b426f50bd24bac2b5db41f65efd3387c 尺寸:1365
误导是标签,确保你们理解。
在我的例子中,我被推送到一个组织,我所在的团队对存储库有管理权限。
所以我的推送命令是: Docker push org-name/image-name
我可以成功地推到用户名/image-name,但不能推到组织。我再三检查了权限。毫无效果。
解决方案是从docker hub中删除repo,并再次使用: Docker push org-name/image-name
至于它的价值,我认为回购最初是在帐户转换为组织之前推动的。