使用docker,避免使用sudo命令
1.本地环境是Ubuntu18.04,docker version 19.03.12
以普通用户启动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
总之就是无法正常启动,在命令前,加sudo就能正常使用,很是苦恼,如何才能不用每个命令都加sudo,
Docker守护程序绑定到Unix套接字而不是TCP端口。默认情况下,该用户拥有Unix套接字root,其他用户只能使用来访问它sudo。Docker守护程序始终以root用户身份运行。
如果你不想在前言docker与命令sudo,创建一个名为UNIX组docker和用户添加到它。当Docker守护程序启动时,它将创建一个可由该docker组成员访问的Unix套接字。
2.以上是官方的解释,就是当前用户不在docker组
3.解决办法也很简单,创建一个docker组,将当前用户添加进去就行
4.接下来,执行命令即可
sudo cat /etc/group #查看当前系统有哪些组,里面有docker组,验证docker是否有当前用户
sudo groupadd docker #添加docker用户组
sudo gpasswd -a $XXX docker #检测当前用户是否已经在docker用户组中,其中XXX为用户名。
sudo gpasswd -a $USER docker #将当前用户添加至docker用户组
newgrp docker #更新docker用户组
sudo service docker restart #重启docker服务
newgrp - docker #切换当前会话到新group或重启会话
需要注意的是,$USER 需要替换为自己机器上的用户名