我正在按照这个链接创建我的第一个docker映像,它成功了,现在我试图从这个链接将这个映像推到我的docker存储库中。但是每当我试图将这个映像推入存储库时,我就会得到这种类型的错误。
denied: requested access to the resource is denied
注:我已成功登录docker
我正在按照这个链接创建我的第一个docker映像,它成功了,现在我试图从这个链接将这个映像推到我的docker存储库中。但是每当我试图将这个映像推入存储库时,我就会得到这种类型的错误。
denied: requested access to the resource is denied
注:我已成功登录docker
当前回答
Docker对私有存储库的数量也有限制。如果您正在通过从本地机器推入创建私有存储库,则它将创建存储库,但不能再向其推入或从其拉出任何其他内容,并且您将得到“对资源的请求访问被拒绝”错误。
其他回答
Docker登录参数在~/. Docker /config。Json应该正确设置(这是在登录后自动完成)
1)不传递SERVER参数登录:
$ echo "<password>" | docker login -u foo --password-stdin
成功登录后,在~/.docker/config中会出现如下结果。Json和push image成功。
***
"https://index.docker.io/v1/": {
"auth": "YWNhcm***"
}
***
2)登录时传递SERVER参数index.docker.io
$ echo "<password>" | docker login index.docker.io -u foo --password-stdin
成功登录后,在~/.docker/config中会出现如下结果。Json和push image失败。
***
"index.docker.io": {
"auth": "YWNhcm***"
}
***
如果在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容器注册表时遇到此问题,可以先登录到注册表来解决。
docker login yourregistry.azurecr.io
然后标记您的映像以匹配注册表的主机名。
docker image tag yourimagename:[version] yourregistry.azurecr.io/yourimagename:[version]
最后按一下。
docker push yourregistry.azurecr.io/yourimagename:[version]
之前的答案都是正确的,我只是想补充一个我看到没有提到的信息;
如果项目是私有项目,要正确地推送映像,必须配置个人访问令牌或启用read_registry key的部署令牌。
来源:https://gitlab.com/help/user/project/container_registry using-with-private-projects
希望这是有帮助的(如果问题是张贴到目前为止的时间)