如何 让ubuntu 在root 下安装的docker 在 普通用户下也能用

在 Ubuntu 系统中,如果 Docker 是以 root 用户安装的,普通用户默认无法直接使用 Docker 命令(会报权限错误)。要让普通用户也能使用 Docker,可以按照以下步骤操作:


方法 1:将用户加入 docker 用户组(推荐)

Docker 安装时会自动创建一个名为 docker 的用户组,将普通用户加入该组即可获得权限。

  1. 创建 docker 用户组(如果尚未存在)

    bash 复制代码
    sudo groupadd docker
  2. 将当前用户加入 docker

    bash 复制代码
    sudo usermod -aG docker $USER
    • $USER 是当前用户名,也可以替换为目标用户名(如 sudo usermod -aG docker username)。
  3. 刷新用户组权限

    • 退出当前终端并重新登录,或者运行以下命令立即生效:

      bash 复制代码
      newgrp docker
  4. 验证是否生效

    bash 复制代码
    docker run hello-world
    • 如果成功运行,说明配置正确。

方法 2:直接修改 Docker 的权限(不推荐)

如果不想将用户加入 docker 组,可以临时修改 Docker 套接字文件的权限(但存在安全风险):

bash 复制代码
sudo chmod 666 /var/run/docker.sock
  • 注意:这会允许所有用户访问 Docker,可能导致提权漏洞,仅建议在测试环境使用。

方法 3:通过 sudo 运行 Docker 命令

如果不想配置用户组,可以在每条 Docker 命令前加 sudo

bash 复制代码
sudo docker ps
  • 也可以通过 visudo 配置免密码 sudo 权限,但同样存在安全风险。

补充说明

  1. 安全提醒

    • docker 用户组实际上拥有与 root 等效的权限(因为 Docker 守护进程以 root 运行)。仅将受信任的用户加入该组。
    • 生产环境中建议结合 Docker 的 TLS 认证或细粒度授权插件(如 authz)进行权限控制。
  2. 如果 docker 组不存在

    • 可能是 Docker 未正确安装。重新安装 Docker:

      bash 复制代码
      sudo apt update
      sudo apt install docker.io
  3. 持久化配置

    • 上述方法 1 的配置是永久生效的,重启后无需重复操作。

通过以上步骤,普通用户即可无需 sudo 直接使用 Docker 命令。推荐使用 方法 1,既方便又相对安全。

相关推荐
分布式存储与RustFS1 天前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
玉&心1 天前
通过Arthas在线诊断K8S中的内存及JVM等使用情况
docker·k8s·arthas
xing-xing1 天前
Docker容器中Nginx站点根目录网页配置访问
nginx·docker
guo_wen_qiang1 天前
上传本地镜像到harbor中
docker·容器·持续部署
羑悻的小杀马特1 天前
Dockerfile 全景指南:从入门编写dockerfile到生产环境镜像优化实战,一步步带你从啃透制作指令到镜像制作落地!
docker·dockerfile·镜像制作
BianHuanShiZhe1 天前
docker常见命令
docker
正经教主1 天前
【FDE系列】阶段2:Day 43:Docker Compose — 多容器一键编排
人工智能·docker·fde
zhangrelay1 天前
《机器人控制器设计与编程》课程习题资料-2026
linux·笔记·学习·ubuntu
忆~遂愿1 天前
本地片库怎么在外面打开?Plex + cpolar 搭一套可远程访问的私人影音库
docker·容器
Linux-lucky1 天前
39-41-Linux学习之旅之redis缓存基础与NFS基础
linux·运维·mysql·ubuntu