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
用户组(推荐长期解决方案)
-
将当前用户加入
docker
组:sudo usermod -aG docker $USER
-
然后 注销并重新登录,或者运行:
newgrp docker
-
验证是否成功:
docker info
如果没有提示权限错误,就说明你已经成功了。
附:为什么会这样?
/var/run/docker.sock
是一个 Unix 套接字,默认只有 root
和 docker
用户组的成员才能访问。普通用户尝试访问会遇到 “permission denied” 错误。