普通用户运行docker ps 出现权限问题

普通用户运行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 修改文件权限为只读

 

posted on 2020-05-05 11:06  lxsky  阅读(2365)  评论(0编辑  收藏  举报

导航