普通用户运行docker ps 出现权限问题
错误描述:Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get 。。。。 dial unix /var/run/docker.sock: connect: permission denied
1、查看sock权限
ls -l /var/run/docker.sock srw-rw---- 1 root docker 0 8月 23 10:34 /var/run/docker.sock
所有者是root,组是docker,因此我们当前用户如果不是root或者docker组就无法连接docker的sock进行操作。
2、解决方法
将当前用户username添加到docker组
sudo gpasswd -a $USER docker
如果不是sudo用户,请看第3条“Centos7创建用户并授予sudo权限“
更新用户组
newgrp docker
然后就可以直接运行docker 命令进行操作了。
3、Centos7创建用户并授予sudo权限
创建用户:
#adduser username
设置密码:
#passwd username
回车,顺序录入新密码及确认密码
授权sudo权限,需要修改sudoers文件。
a. 首先找到文件位置,示例中文件在/etc/sudoers位置。
whereis sudoers
b.强调内容 修改文件权限,一般文件默认为只读。
ls -l /etc/sudoers 查看文件权限
chmod -v u+w /etc/sudoers 修改文件权限为可编辑
c. 修改文件,在如下位置增加一行,保存退出。
vim /etc/sudoers 进入文件编辑器
文件内容改变如下:
root ALL=(ALL) ALL 已有行
username ALL=(ALL) ALL 新增行
d. 记得将文件权限还原回只读。
ls -l /etc/sudoers 查看文件权限
chmod -v u-w /etc/sudoers 修改文件权限为只读