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

denied: requested access to the resource is denied

注:我已成功登录docker


当前回答

我有一个类似的问题,我通过创建一个具有相同映像名称的存储库来解决它,然后将它推到docker,它工作了

其他回答

以防其他人遇到这种情况-在我的情况下,原因是我正在使用(已弃用的)docker合成方法来推送图像。切换到预期的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

如果在docker登录后仍然失败,请确保您试图推送到的存储库在一开始就已创建。

如果在使用Azure容器注册表时遇到此问题,可以先登录到注册表来解决。

docker login yourregistry.azurecr.io

然后标记您的映像以匹配注册表的主机名。

docker image tag yourimagename:[version] yourregistry.azurecr.io/yourimagename:[version]

最后按一下。

docker push yourregistry.azurecr.io/yourimagename:[version]

不允许误导标签名称。 我的解决方法是:

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

误导是标签,确保你们理解。