非ROOT用户使用docker命令
Docker安装完之后,如果是以非ROOT用户登录的必须加sudo执行docker命令,否则会报错:
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/images/json: dial unix /var/run/docker.sock: connect: permission denied
解决办法是把当前用户添加进docker用户组。
查看docker用户组
使用cat /etc/passwd
命令找到“Docker User”如下:
dockerroot:x:994:992:Docker User:/var/lib/docker:/sbin/nologin
可知,该用户所属组ID为992,再使用cat /etc/groups
命令找到992对应的group
dockerroot:x:992:l
将当前用户加入docker用户组
$ sudo usermod -a -G dockerroot $USER
$ newgrp dockerroot
查看 docker.sock 权限设置
使用命令ll /var/run/docker.sock
查看docker.sock 权限设置
srw-rw----. 1 root root 0 Oct 8 11:00 /var/run/docker.sock=
如果该文件用户组是root,则手动改成docker用户组,sudo chown root:dockerroot docker.sock
重启docker服务
最后,重启docker服务即可:
$ sudo systemctl restart docker