Linux 下普通用户不通过 sudo 使用 docker 命令
Linux 环境下普通用户没有执行 docker 命令的权限是因为 Docker 的安全设计。Docker 守护进程(daemon)默认以 root 用户身份运行,因为它需要访问系统的底层资源来管理容器。出于安全考虑,普通用户(非 root 用户)不应该能够直接执行可能具有破坏性的 Docker 命令。
但是,Docker 提供了一种机制,允许普通用户通过 Docker 用户组(通常是 docker 组)来执行 Docker 命令,而无需使用 sudo。这是通过将用户添加到 docker 组来实现的。一旦用户成为 docker 组的成员,他们就可以执行 Docker 命令,因为 Docker 守护进程会检查执行命令的用户是否属于 docker 组,并据此授予相应的权限。
要允许普通用户执行 Docker 命令,你需要执行以下步骤:
1. 将用户添加到 docker 组(Docker 安装过程中通常会创建 docker 组)
# 可通过 grep docker /etc/group 判断 docker 组是否存在
# 若 docker 组不存在,可先创建 docker 组
sudo groupadd docker
# 若 docker 组存在,可直接将普通用户加入到 docker 组中。( $USER 是一个环境变量,代表当前登录的用户名,也可以将其替换为具体的用户名)
sudo gpasswd -a $USER docker 或 sudo usermod -aG docker $USER
2. 重启服务并刷新 docker 组成员
sudo systemctl restart docker
newgrp - docker
# 实操并验证
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?