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

Docker构建失败提示权限拒绝,是否需root/sudo权限?

Docker构建镜像权限拒绝问题解决办法

你碰到的这个权限拒绝问题,根源是当前用户jack没有访问Docker守护进程套接字/var/run/docker.sock的权限。确实不一定非要每次用root身份操作,这里给你两个常用的解决思路:

方式一:将用户加入docker组(推荐长期使用)

这是最方便的解决方案,以后执行Docker命令都不用再加sudo:

  • 首先执行这条命令,把当前用户添加到docker用户组:
    sudo usermod -aG docker $USER
    
  • 注意:执行完后必须退出当前终端会话,再重新登录(或者临时执行newgrp docker让变更立刻生效,但重启会话是最稳妥的方式)
  • 重新登录后,再运行docker build -t my-app .就不会再出现权限问题了

方式二:临时使用sudo执行命令

如果只是临时操作,不想修改用户组,直接在Docker命令前加上sudo即可:

sudo docker build -t my-app .

不过这种方式每次执行Docker相关命令都需要输入sudo密码,长期用起来比较繁琐。

补充说明

Docker守护进程默认是以root用户运行的,它的套接字文件/var/run/docker.sock的权限属于root:docker组,所以只有root用户或者docker组内的用户才能正常访问这个套接字,这就是你遇到权限拒绝的核心原因。


[jack@localhost work]$ docker build -t my-app .
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.26/build?buildargs=%7B%7D&buildbinds=null&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&shmsize=0&t=my-app&ulimits=null : dial unix /var/run/docker.sock: connect: permission denied
[jack@localhost work]$ service docker status

内容的提问来源于stack exchange,提问作者jack.hamper

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:55:17