Docker——denied: requested access to the resource is denied问题以及解决方法

文章目录

    • 问题
    • 解析
    • 解决方法
    • 注意

Docker——denied: requested access to the resource is denied问题以及解决方法_第1张图片

问题

使用docker push推送镜像时,出现denied: requested access to the resource is denied的报错。
Docker——denied: requested access to the resource is denied问题以及解决方法_第2张图片

解析

  原因和Git push代码一样,为了安全起见,在Docker Hub无法确定操作者的情况下,是无法完成push操作的。在Git中是通过配置文件SSH Keys来记住用户,那么在Docker Hub中也是通过配置文件。
  通常在你第一次使用docker login命令登录你的Docker仓库时,会自动在你的机器上生成一个config.json的文件,目录具体位置不定。如果你是root用户操作,一般在/root/.docker/config.json目录。如果是普通用户,那么可能在~/.docker/config.json目录上。具体还是要看你登录的时候显示的哪个目录。

这里说一下,直接用-u参数指定登录名或者直接docker login在输入用户名密码登录都可以。

例如:↓
Docker——denied: requested access to the resource is denied问题以及解决方法_第3张图片
画红框的就是你config.json的绝对路径。

解决方法

  原因知道了,解决方法其实很简单。只需要使用docker login登录即可。如果上面的目录中有config.json文件,则会更新,如果没有,则会生成一个新的。接着再使用docker push镜像就ok。下次push镜像的时候,也就不需要登录了。

登录:

[root@bogon]# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: liuchenyang
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

注意

一定要注意自己上传的时候镜像名称对不对,还有路径对不对,我这边解决这个问题之后还是会报这个错,找了半天才找出来,还有一个问题就是给镜像打包的时候名字有问题,因为我创建了一个liblarby,上传镜像的时候就多了一层目录,所以因为名字不正确(可以查看最上面的第一张图片),才会出现相同的报错,最后,重新push一下,就ok了。(tagname是你的镜像的版本号)

docker push liuchenyang/mycentos:tagname

在这里插入图片描述
最后就可以看到我们的镜像存储库了。
Docker——denied: requested access to the resource is denied问题以及解决方法_第4张图片
Docker——denied: requested access to the resource is denied问题以及解决方法_第5张图片

你可能感兴趣的:(Linux,docker,git/github,docker,github,docker,hub,运维,私有镜像仓库)