错误
你跑docker ps或者docker compose up在Linux上,您会发现:
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock
为什么会这样
Docker守护程序作为root并绑定到由docker团体。https://www.iissbbs.com如果您的当前用户帐户尚未添加到该组,操作系统会阻止访问。
⚡即时解决方案(一句话)
将您的当前用户添加到docker无需注销即可立即分组并刷新您的组成员资格:
sudo usermod -aG docker $USER && newgrp docker
验证它在没有sudo:
docker ps
如果Docker服务没有运行
如果仍然出现套接字错误,https://www.ycsjb.com请确保Docker引擎守护程序正在运行:
sudo systemctl enable --now docker
检查状态:
sudo systemctl status docker
wsl 2(Windows上的Ubuntu)修复
如果您在没有Docker Desktop的情况下在WSL2中运行Docker:
sudo service docker start
sudo usermod -aG docker $USER && newgrp docker
⚠️不做什么
永远不要跑sudo chmod 777 /var/run/docker.sock。虽然它暂时起作用,但它会让您机器上的每个用户和恶意进程对您的主机系统拥有不受限制的超级用户权限。