docker对所请求资源的访问权限未经授权

use*_*654 12 docker

我有ubuntu 14并安装了docker 1.8.3.不幸的是我有这个错误:

sudo docker login
Username (mauriziobioinfo): 
WARNING: login credentials saved in /home/maurizio/.docker/config.json
Login Succeeded

sudo docker push   mauriziobioinfo/varscan
The push refers to a repository [docker.io/mauriziobioinfo/varscan] (len: 1)
ec3a068ba18d: Buffering to Disk 
unauthorized: access to the requested resource is not authorized
Run Code Online (Sandbox Code Playgroud)

小智 7

我的解决方案是在命令之前运行"docker login".所以我登录然后推了.


max*_*zig 5

需要解决的问题:

  1. docker login必须在命令之前docker push username/repository:tag执行。

    docker push不是自动的,它在未登录时会给出不同的错误消息(或者它甚至会提示自己登录)

  2. 在推送命令行中仔细检查您的用户名
  3. 在 docker web 界面中创建存储库
  4. 仔细检查 push 参数中的存储库名称是否与现有的匹配

    这意味着在以下位置搜索它:

    https://hub.docker.com/u/ $username/

  5. 将现有/root/.docker/config.json的东西移开,以防它损坏。然后,重新执行docker login
  6. 检查 中的 API URL /root/.docker/config.json。例如,对于某些 docker 版本(例如 1.8.1/1.9.1),您必须替换 docker.iohttps://index.docker.io/v1/
  7. 如果您执行一些 docker 命令,sudo然后确保所有这些命令都使用 sudo 执行(例如检查是否alias docker返回定义)


小智 5

我在quay.io上使用存储库也有类似的错误消息。即使经过docker login quay.io命令,我也必须将图像标记为公开。由于我对图像具有权限,因此这是一个奇怪的错误,也是一个奇怪的解决方案。

  • 我也在码头,我收到了这个错误。我可以拉,但不能推。我发现解决方案是在登录之前执行“docker logout quay.io”。这会删除您可能拥有的任何现有只读凭据。 (2认同)

pee*_*dee 2

确保您之前已在 Docker Hub 的 Web 界面上创建了此存储库。

确保您尝试推送的图像的名称与您创建的存储库的名称相同。