前言
部署公司docker环境后,要求后续的docker执行不能使用root用户。故整理了几种让非root用户执行docker命令的方式。
解决方案
将需要执行docker命令的普通用户推荐到docker用户组中即可
-
查看
docker用户组是否已经存在, 如果不存在则创建docker用户组,如果存在则跳过此步骤# 查看`docker`用户组是否已经存在 sudo cat /etc/group |grep docker # 如果不存在,则创建`docker`用户组 sudo groupadd docker -
查看
docker.sock是否所属docker用户组, 如果docker.sock不为docker则变更为docker组,如果为docker组则跳过此步骤# 查看`docker.sock`是否所属`docker`用户组 sudo ls -rlt /var/run/docker.sock # 如果不属于,则变更为docker组 sudo chgrp docker /var/run/docker.sock -
将需要执行docker命令的普通用户添加到docker用户组中
sudo gpasswd -a ${USER} docker newgrp docker
验证结果
-
查看指定用户所属用户组
groups ${USER} -
登录指定用户,执行
docker ps命令