关于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命令
- 报错信息
[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
- 如果着急可跳过中间分析过程,直接看总结命令可解决。
分析
- 根据报错信息(/var/run/docker.sock: connect: permission denied),可知,用户无操作权限
- 我们首先需要查看/var/run/docker.sock权限
-
情况一:只有root用户和docker组才有rw权限
$ ll /var/run/docker.sock srw-rw---- 1 root docker 0 Mar 21 10:59 /var/run/docker.sock
-
情况二:只有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