我试图在ubuntu 16.04上运行没有sudo的docker . 我按照docker网站上的linux安装后说明操作:
sudo groupadd docker
sudo usermod -aG docker $USER
我重新启动然后运行
docker ps
此错误仍然出现:
尝试在unix上连接到Docker守护程序套接字时获得权限被拒绝:///var/run/docker.sock:获取http://%2Fvar%2Frun%2Fdocker.sock/v1.37/containers/json:dial unix /var/run/docker.sock:connect:权限被拒绝
奇怪的是,如果我从我的机器ssh到自身命令正确执行 . 当我从tty运行命令时它也能正常工作 .
edit:
输出ls -lah /var/run/docker.sock:
srw-rw---- 1 root docker 0 Aug 9 11:22 /var/run/docker.sock
id的输出:
uid=1000(uname) gid=1000(uname) groups=1000(uname),4(adm),24(cdrom),27(sudo),29(audio),30(dip),46(plugdev),113(lpadmin),128(sambashare),999(docker)
什么可能出错?谢谢您的帮助!
2 回答
如果您在将用户添加到docker组之前最初使用sudo运行Docker CLI命令,则可能会出现此错误,您需要删除〜/ .docker /目录(它会自动重新创建,但任何自定义设置都会丢失)或更改使用以下命令的所有权和权限:
显然问题是tmux shell .
将帐户添加到docker组时仍会出现问题,同时仍至少打开一个tmux会话 . 关闭所有tmux会话解决了问题[组帐户现在将在下一个会话中更新] .
解:
现在它工作正常