关于Docker时的权限问题解决dial unix /var/run/docker.sock: connect: `permission denied`

Posted 王羲之的之

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Docker时的权限问题解决dial unix /var/run/docker.sock: connect: `permission denied`相关的知识,希望对你有一定的参考价值。

多种方法解决docker无权限问题 /var/run/docker.sock: connect: permission denied

问题:无权限使用docker命令

  1. 报错信息
    [test@pri00 ~]$ docker ps
    Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
    
  2. 如果着急可跳过中间分析过程,直接看总结命令可解决。

分析

  1. 根据报错信息(/var/run/docker.sock: connect: permission denied),可知,用户无操作权限
  2. 我们首先需要查看/var/run/docker.sock权限
    1. 情况一:只有root用户和docker组才有rw权限

      $ ll /var/run/docker.sock
      srw-rw---- 1 root docker 0 Mar 21 10:59 /var/run/docker.sock
      
    2. 情况二:只有root用户和root

dial unix /var/run/docker.sock: connect: permission denied | 解决linux普通用户没有docker执行权限问题

创建普通用户

useradd username

切换到普通用户

su username

执行docker 指令

docker ps

出现异常信息,提示权限不足

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/containers/json: dial unix /var/run/docker.sock: connect: permission denied

解决命令

切换回admin用户

gpasswd -a username docker

又出现异常

原来是安装docker的时候没有创建对应的权限组,那先去创建一下

groupadd docker

重新执行gpasswd -a username docker

加入成功之后重启下docker,不然刚才的权限组不会生效

systemctl restart docker

切换到普通用户重新执行docker指令

docker ps

大功告成

以上是关于关于Docker时的权限问题解决dial unix /var/run/docker.sock: connect: `permission denied`的主要内容,如果未能解决你的问题,请参考以下文章

dial unix /var/run/docker.sock: connect: permission denied | 解决linux普通用户没有docker执行权限问题

dial unix /var/run/docker.sock: connect: permission denied | 解决linux普通用户没有docker执行权限问题

dial unix /var/run/docker.sock: connect: permission denied | 解决linux普通用户没有docker执行权限问题

输入docker ps 报错信息处理Get http:///var/run/docker.sock/v1.19/containers/json: dial unix /var/run/docker.s

FATA[0000] Get http:///var/run/docker.sock/v1.18/images/json: dial unix /var/run/docker.sock: no suc

XCode:尝试下载开发证书时的 UNIX [权限被拒绝]