解决运行docker命令要用sudo的问题

Q:首先说一下问题是怎么出现的?

A:Docker的守护线程绑定的是unix socket,而不是TCP端口,这个套接字默认属于root,其他用户可以通过sudo去访问这个套接字文件。所以docker服务进程都是以root账户运行。

解决的方式是创建docker用户组,把应用用户加入到docker用户组里面。只要docker组里的用户都可以直接执行docker命令。

可以先通过指令查看是否有用户组:
 cat /etc/group | grep docker

如果有就跳过第一步!

第一步:创建docker用户组
sudo groupadd docker 
第二步:用户加入到用户组
sudo usermod -aG docker 用户名
第三步:检查是否有效
cat /etc/group
第四步:重启docker-daemon
sudo systemctl restart docker
第五步:给docker.sock添加权限
sudo chmod a+rw /var/run/docker.sock

你可能感兴趣的:(解决运行docker命令要用sudo的问题)