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

denied: requested access to the resource is denied

注:我已成功登录docker


当前回答

使用以下命令:

$ docker login
<enter user name and password for Docker Hub Repository>

$ docker tag first-image {docker-hub-username}/{default-repo-folder-name}:first-image

$ docker push {docker-hub-username}/{default-repo-folder-name}:first-image

例如,我有像manjeet86/docker-repo这样的公共存储库,所以命令将是:

$ docker tag first-image manjeet86/docker-repo:first-image

$ docker push manjeet86/docker-repo:first-image

你看:而不是/这就是窍门。这对我很管用。我不知道它是否让你用/来代替:,但这可能是出于其他目的。

https://docs.docker.com/engine/reference/commandline/tag/#examples

其他回答

在Azure Devops中创建CI管道以构建docker映像并将其推送到docker Hub时,我也遇到了同样的问题。我所犯的错误是在容器存储库部分提供了错误的条目。

在buildAndPush任务中,我在容器存储库字段中给出存储库名称。实际上,存储库名称应该附加Docker Hub用户名/。 例如,您的用户名是myuser,存储库名称是test,然后提供myuser/test条目。一旦我纠正了这个问题,管道就成功地工作了,图像被推送到我的docker中心存储库

步骤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>>:最新的

输出:

这可能是特定于DigitalOceans容器注册表,但它可能有帮助:

在我的例子中,我的管道在docker推送之后触发了一个清理作业(doctl注册表垃圾收集启动),这将注册表置于只读模式(参见doc)。因此,在清理作业处于活动状态时的下一个推送将被拒绝:对资源的请求访问将被拒绝。

如果doctl注册表垃圾收集get-active返回404,则作业完成,docker推送将成功完成。

我真的希望这能帮助到一些人(像我一样先看最终答案的人):

我不断地尝试输入

docker push user/repo/tag

而不是

docker push user/repo:tag

因为我也这样做了我的标签:

docker tag image user/repo/tag

...一切都毁了。

我真诚地希望你不要重蹈我的覆辙。我在这上面浪费了30分钟…

我也有同样的问题,但这里给出的接受答案不适合我。 我试了几步,最后终于能推它了。

以下是对我有用的步骤:

登录docker。 Docker登录-u sirimalla 标记您的映像构建

我的图像名称是:mylocalimage,默认情况下它有标签:latest 和我的用户名是:sirimala注册到docker云,我创建了一个公共存储库名为:dockerhub

所以我的个人存储库现在变成了:sirimala /dockerhub 我想用标签myfirstmagepush来推送我的图片

我标记如下:

docker tag mylocalimage:latest sirimalla/dockerhub:myfirstimagepush

将图像推送到我的个人docker存储库,如下所示 Docker push sirimala /dockerhub: myfirstmagpush

它成功地推动了我个人的docker回购。