docker不可以非root权限进行启动;使用docker需要root权限,没有root权限的普通用户将没有办法操作docker,若普通用户没有root权限,可以利用sudo获取管理员权限,运行docker命令,或者将当前用户加入到docker用户组中,那么当前用户就有权限访问“Unix socket”,进而也就可以执行docker相关命令。
本教程操作环境:linux7.3系统、
docker
19.03版、Dell G3电脑。
docker可以非root权限启动吗
docker不可以非root权限进行启动
docker是需要root权限的,如果没有root权限的普通用户将没有办法操作docker。下面给出两个修改的方法,来完成普通用户的操作的请求。
解决办法
1. 赋予普通用户root权限
需要修改:/etc/sudoers
将sudoers文件中的,以下内容进行修改
普通用户可以使用docker了
2. 假如docker组
Docker Sandbox
创建并管理 Docker 沙箱虚拟机环境以安全执行代理。适用于运行不受信任代码、探索包或隔离代理工作负载。支持 Claude、Codex、Copilot、Gemini 和 Kiro 代理,并提供网络代理控制。
下载
docker安装之后默认会创建docker组,docker组拥有读取套接字权限,因此将该普通用户加入docker组,该组下所有用户有访问unix套接字权限,最后刷新用户的初始组即可。
2.1 查看是否有docker用户
如果没有需要手动增加
2.2 查看 /var/run/docker.sock 的属性
如果/var/run/docker.sock的用户组不是docker,而是root需要使用chgrp修改。
2.3 将普通用户添加至docker组
推荐学习:《
docker视频教程
》
# 现在是不可更改的,需要调整权限:chmod 0755 sudoers (需要root权限的)
root@SRV252:/etc# ll sudoers
-r--r----- 1 root root 815 Feb 23 13:06 sudoers# User privilege specification
root ALL=(ALL:ALL) ALL
name1 ALL=(ALL:ALL) ALL # 使用sudo时,仍需要密码的
name2 ALL=(ALL:ALL) NOPASSWD: ALL # 使用sudo时候,不要密码(免密的)test@ubuntu:~$ sudo cat /etc/group |grep docker
docker:x:999: # 表示存在sudo groupadd docker# ll /var/run/docker.sock
srw-rw---- 1 root root 0 Oct 29 22:20 /var/run/docker.sock=
chgrp docker /var/run/docker.sock=# 添加
test@:~$ sudo gpasswd -a test docker
Adding user test to group docker
# 查看,此时不在,需要刷新
test@ubuntu:~$ id
uid=1002(test) gid=1002(test) groups=1002(test)
# 刷新
test@ubuntu:~$ newgrp docker