You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Ubuntu系统中Docker无sudo执行时Permission denied问题?

解决Ubuntu下Docker无需sudo执行的权限问题

这个问题太常见了,我刚接触Docker的时候也踩过这个坑!本质原因是Docker的守护进程默认只允许root用户或者属于docker用户组的用户访问它的Unix socket,普通用户不在这个组里的话,自然就会触发权限拒绝的错误。话不多说,直接上解决步骤:

  • 第一步:确认并创建docker用户组(如果不存在)
    多数情况下,Docker安装时会自动创建docker组,但保险起见还是先执行命令确认:

    sudo groupadd docker
    

    如果终端提示groupadd: group 'docker' already exists,说明组已经存在,直接跳过这一步就行。

  • 第二步:将当前用户加入docker组
    用$USER变量可以自动获取当前登录的用户名,执行这条命令把用户追加到docker组(-aG参数是追加模式,不会影响用户原本的其他组权限):

    sudo usermod -aG docker $USER
    
  • 第三步:刷新用户组权限
    这一步是关键!刚修改完组配置,当前终端会话不会立刻生效,有两种方式解决:

    1. 快速生效:执行这条命令让当前会话加载新的组权限
      newgrp docker
      
    2. 彻底生效:直接注销当前用户再重新登录,所有新打开的终端都会自动继承docker组的权限
  • 第四步:验证配置是否成功
    不用加sudo,执行一条简单的Docker命令测试:

    docker run hello-world
    

    如果能正常拉取hello-world镜像并输出欢迎信息,说明权限配置成功了,以后再用Docker命令就不用每次都敲sudo啦!

小提示

如果执行newgrp docker后,下次打开新终端还是需要重新执行的话,建议直接注销再登录一次,这样配置会永久生效。

内容的提问来源于stack exchange,提问作者Carlos Andres

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:31:40