Linux系统非root用户使用docker命令
要在 Linux 中使用 Docker 指令而无需每次都获取 root 权限,通常需要将当前用户添加到 docker 组中。这样,用户就能够在没有 sudo 的情况下运行 Docker 命令。
以下是步骤:
将用户添加到 docker 组
Docker 默认会创建一个名为 docker 的组,并将其与 Docker 服务相关联。将你的普通用户添加到这个组后,你就能在不使用 sudo 的情况下执行 Docker 命令。
使用以下命令将当前用户添加到 docker 组:
sudo usermod -aG docker $USER
其中:
usermod:用于修改用户账户。-aG docker:将用户添加到docker组。$USER:表示当前登录的用户。
重新登录
用户添加到新组后,需要重新登录才能生效。你可以通过退出当前会话并重新登录,或者使用 newgrp 命令来刷新组信息:
newgrp docker
这会使你立即加入 docker 组,而无需注销。
验证配置是否生效
可以通过以下命令来验证用户是否已经成功加入 docker 组:
groups $USER
你应该看到输出中包含 docker 组。如果是这样,说明配置已经生效。
测试 Docker 命令
在完成上述步骤后,你可以测试是否能在没有 sudo 的情况下运行 Docker 命令:
docker ps
如果没有提示需要 sudo 权限且能够成功执行命令,那么设置就已经完成。
注意事项:
- 安全性:将用户添加到
docker组实际上是给予该用户类似root权限的权限,因为 Docker 在运行容器时会与宿主机的内核进行交互,因此拥有对 Docker 的访问权限也意味着对宿主机有很高的权限。 - 推荐的做法:在生产环境中,如果不希望直接给普通用户太高权限,可以考虑使用其他限制方法,比如使用
sudo来管理权限或使用更细粒度的权限控制工具。
总结
- 使用
sudo usermod -aG docker $USER将普通用户添加到docker组。 - 重新登录或使用
newgrp docker使更改生效。 - 验证用户是否可以不使用
sudo执行 Docker 命令。

浙公网安备 33010602011771号