docker 非sudo 下执行
要在 Docker 中以非 sudo
用户身份运行命令,你需要将当前用户添加到 docker
用户组中。默认情况下,Docker 守护进程要求管理员权限,因此用户需要使用 sudo
来执行命令。但是,添加到 docker
组的用户可以不使用 sudo
执行 Docker 命令。
让 Docker 以非 sudo
用户运行的步骤:
1. 创建 docker
组(如果不存在)
首先检查系统中是否已经存在 docker
组,通常在安装 Docker 时会自动创建。如果没有,你可以使用以下命令创建 docker
组:
sudo groupadd docker
2. 将当前用户添加到 docker
组
运行以下命令,将当前用户($USER
)添加到 docker
组中:
sudo usermod -aG docker $USER
$USER
是一个环境变量,表示当前用户。如果你想添加其他特定用户,可以将 $USER
替换为实际的用户名。
3. 重新登录系统
要使组权限更改生效,你需要重新登录或重启系统。或者可以使用以下命令来立即刷新权限:
newgrp docker
4. 测试 Docker 是否可以非 sudo
运行
重新登录后,运行以下命令测试是否可以不使用 sudo
运行 Docker:
docker run hello-world
如果能够正常运行 Docker 容器并输出 Hello from Docker!
等信息,说明配置成功,你可以在非 sudo
下运行 Docker 命令了。
注意事项:
- 安全性:将用户添加到
docker
组授予该用户与root
类似的权限,因为 Docker 容器可以访问主机系统资源。因此,只将受信任的用户添加到docker
组中。 - 如果依然提示权限不足:确保你正确地添加了用户,并且重新登录或重启系统使更改生效。
这之后,你应该能够在非 sudo
下执行 Docker 命令。