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

denied: requested access to the resource is denied

注:我已成功登录docker


当前回答

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

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

Shah/firstimage

其他回答

OS: Ubuntu16.04

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

解决方案:

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

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

myusername/something/image

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

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

docker login

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

docker push {namespace}/mydevrepo

简单的工作解决方案:

访问这里https://hub.docker.com/创建一个私有存储库,例如johnsmith/ PRIVATE -repository,这是您在构建映像时将用于映像的name / repository。

首先,docker登录 其次,我使用"docker build -t johnsmith/private-repository:01 ."来创建图像,并且我使用"docker images"来确认创建的图像,如下面这个黄色框中所示:(对不起,我不能粘贴表格格式,只能粘贴文本字符串)

johnsmith/private-repository(REPOSITORY) 01(TAD) c5f4a2861d6e(IMAGE ID) 2 days ago(CREATED) 305MB(SIZE)

第三,我使用docker push johnsmith/private-repository:01

完成了!

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

docker login yourregistry.azurecr.io

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

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

最后按一下。

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