为什么运行docker命令返回"/var/run/docker.sock"权限拒绝?
现象
# docker ps
FATA[0000] Get http:///var/run/docker.sock/v1.16/containers/json:
dial unix /var/run/docker.sock: permission denied.
Are you trying to connect to a TLS-enabled daemon without TLS?
分析解决
首先你得确认/var/run/docker.sock
文件是否存在
# ls -l /var/run/docker.sock
srw-rw---- 1 root docker 0 sty 28 11:53 /var/run/docker.sock
解决方案现在很清楚了,通过添加你的登陆用户到docker用户组来解决这个问题,如下所示:
# sudo gpasswd -a ${USER} docker
/etc/group
文件内容应该可以看出变化了
# cat /etc/group | grep ^docker
下面我们打开一个新的终端来检查登陆用户是否加入到了docker用户组,应该存在于如下命令结果中
# groups
如果你的登陆用户还没有加入到docker用户组,你可以尝试重启机器。如果你可以正常重启docker容器,就不需要重启服务器了。
# sudo service docker.io restart
然后你运行docker ps应该就没有问题了!