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 命令了。

注意事项:

  1. 安全性:将用户添加到 docker 组授予该用户与 root 类似的权限,因为 Docker 容器可以访问主机系统资源。因此,只将受信任的用户添加到 docker 组中。
  2. 如果依然提示权限不足:确保你正确地添加了用户,并且重新登录或重启系统使更改生效。

这之后,你应该能够在非 sudo 下执行 Docker 命令。