> 技术文档 > permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock

permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock

这个错误提示说明当前用户没有权限访问 Docker 的守护进程(/var/run/docker.sock),这通常是因为当前用户不在 docker 用户组中,或者没有使用 sudo 执行命令。

✅ 解决方案:

方式一:使用 sudo

最直接的方式是在命令前加上 sudo

sudo docker compose -f pwd.yml up -d

如果你是临时运行一次,可以直接用这个方式。


方式二:将用户加入 docker 用户组(推荐长期解决方案)

  1. 将当前用户加入 docker 组:

    sudo usermod -aG docker $USER
  2. 然后 注销并重新登录,或者运行:

    newgrp docker
  3. 验证是否成功:

    docker info

    如果没有提示权限错误,就说明你已经成功了。


附:为什么会这样?

/var/run/docker.sock 是一个 Unix 套接字,默认只有 rootdocker 用户组的成员才能访问。普通用户尝试访问会遇到 “permission denied” 错误。