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

denied: requested access to the resource is denied

注:我已成功登录docker


当前回答

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

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

denied: requested access to the resource is denied

我还注意到做一个

docker image ls

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

我必须做一个

docker container prune 

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

docker image prune -a

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

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

其他回答

在我的例子中,我被推送到一个组织,我所在的团队对存储库有管理权限。

所以我的推送命令是: Docker push org-name/image-name

我可以成功地推到用户名/image-name,但不能推到组织。我再三检查了权限。毫无效果。

解决方案是从docker hub中删除repo,并再次使用: Docker push org-name/image-name

至于它的价值,我认为回购最初是在帐户转换为组织之前推动的。

我的问题是在我的图像名称中使用无效字符(额外的/):

myusername/something/image

无效的映像名称。/上的用户名都尝试dangillmor something-image。希望这能帮助到一些人。

最简单的方法是使用docker桌面(适用于Windows 10或以上版本和mac)

通过提供dockerID注册docker hub

然后点击docker桌面图标在你的机器和->首选项->然后登录到它使用docker枢纽docker/id和密码。

还需要注意的重要一点是,在标记图像时,首先使用命名空间标记,然后使用存储库/ mydevrepo标记。这让我在使用Docker文档时感到困惑。之后我使用:

docker login

然后我使用“tagged name”来推送我的图像。

docker push {namespace}/mydevrepo

在我把“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