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

denied: requested access to the resource is denied

注:我已成功登录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

OS: Ubuntu16.04

原因:我删除了客户端配置文件(~/.docker/config.json)

解决方案:

重启码头工人。 服务docker重启。 它需要输入登录信息,然后自动生成配置文件。 Docker login——username=yourdockerhubername——email=youremail@company.com

最后对我有用的唯一一件事是在dockerhub中创建一个公共存储库,并用相同的名称标记本地映像,并在合作者{in dockerhub}中添加我的userID,最后推送它。

登录docker后,您需要用前缀命名您的映像。

例如,如果你在docker-hub中的用户名是Shah,图像应该是:

Shah/firstimage