在 Linux 上默认情况下,Docker 需要使用 root
用户或有 sudo
权限的用户来执行。但如果你希望非 root
用户可以直接使用 Docker,可以将该用户添加到 Docker 组中。下面是详细的步骤:
1. 将用户添加到 Docker 组
确保 Docker 已安装并运行
在继续之前,确保你的 Docker 已经安装并正在运行。如果没有安装 Docker,可以参考之前的安装指南进行安装。
创建 Docker 组(如果 Docker 组不存在)
通常,Docker 会自动创建一个
docker
组。如果没有此组,你可以手动创建它:sudo groupadd docker
将非
root
用户添加到 Docker 组使用以下命令将你想要授予 Docker 权限的用户添加到
docker
组。例如,假设你想添加的用户名是username
:sudo usermod -aG docker username
usermod
是修改用户账户的命令。-aG
表示将用户添加到指定的组(而不会将用户从其他组中移除)。docker
是组的名称,username
是你想要授权的用户。
让修改生效
修改完毕后,你需要让这个用户的组修改生效。最简单的方法是注销并重新登录,或者你可以执行以下命令来使得组更改立即生效:
newgrp docker
2. 验证设置是否成功
重新启动会话或终端,然后使用非
root
用户运行 Docker 命令:docker run hello-world
如果一切配置正确,Docker 会下载并运行
hello-world
镜像,并且你应该看到类似于以下的输出,说明 Docker 成功运行:Hello from Docker! This message shows that your installation appears to be working correctly.
3. 常见问题
无法运行 Docker 命令:如果你仍然遇到 “Permission denied” 错误,确保用户已经成功添加到
docker
组,并且重新登录会话。也可以通过以下命令检查当前用户是否属于docker
组:groups username
如果输出中包含
docker
,说明用户已经在该组中。需要
sudo
权限:如果你使用的是sudo
命令启动 Docker,可能是因为 Docker 组的权限设置不正确。检查/etc/group
文件,确保docker
组中包含了目标用户。
通过这些步骤,非 root
用户应该可以直接使用 Docker,而无需每次都使用 sudo
。如果有其他问题,随时告诉我!
最后编辑:admin 更新时间:2025-03-10 19:29