If you’re working with Docker and encounter the error:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
You’re not alone. This is one of the most common issues Docker users face—especially on fresh installations or after a system restart.
In this blog, we’ll explore why Docker can’t connect to the daemon, and how to fix it across common platforms like Linux, macOS, and Windows.
💡 What Does This Error Mean?
This error means that the Docker CLI (docker) is trying to talk to the Docker daemon (dockerd), but the daemon is not running, inaccessible, or the current user doesn’t have permission to access it.
🛠 Common Causes and Fixes
✅ 1. Docker Daemon Is Not Running
On Linux systems, the Docker daemon must be started manually or via systemd.
Fix:
sudo systemctl start docker
To enable it at boot:
sudo systemctl enable docker
Check the status:
sudo systemctl status docker
✅ 2. Permission Denied on Docker Socket
If you’re getting a permission error, you may not belong to the docker group.
Error:
Got permission denied while trying to connect to the Docker daemon socket
Fix:
sudo usermod -aG docker $USER
Then log out and log back in (or run newgrp docker) for the change to take effect.
✅ 3. Missing or Corrupted Docker Socket File
Docker communicates via a Unix socket: /var/run/docker.sock. If this file is missing or corrupted, you’ll get a connection error.
Fix:
Restart the Docker daemon:
sudo systemctl restart docker
Or check if the socket file exists:
ls -l /var/run/docker.sock
Expected output:
srw-rw---- 1 root docker 0 Jul 2 12:34 /var/run/docker.sock
✅ 4. Running Docker with sudo Resolves the Error
If docker only works with sudo, it means your user isn’t part of the docker group.
Temporary workaround:
sudo docker ps
Recommended long-term fix:
Add your user to the group (as shown above).
✅ 5. Docker Not Installed or Broken Installation
Verify if Docker is installed:
docker --version
If not found, reinstall Docker:
- On Ubuntu:
sudo apt-get update
sudo apt-get install docker.io
- On CentOS:
sudo yum install docker
✅ 6. Docker Desktop Not Running (macOS/Windows)
If you’re using Docker Desktop on macOS or Windows, make sure the Docker app is running.
- Open Docker Desktop from your applications.
- Wait for it to initialize fully before running CLI commands.
- Check for any errors inside Docker Desktop’s GUI.
📄 Bonus: Diagnose with docker info
Run:
docker info
This command provides useful output to understand whether the daemon is reachable and what’s configured.
📝 Conclusion
The “cannot connect to Docker daemon” error usually boils down to one of three things: the daemon isn’t running, the user lacks permissions, or the environment is misconfigured. The good news? Each of these issues is easy to fix once you know what to check.
🔑 Quick Checklist
| Issue | Solution |
|---|---|
| Daemon not running | sudo systemctl start docker |
| Permission denied | sudo usermod -aG docker $USER |
| Broken socket file | sudo systemctl restart docker |
| Docker Desktop not started (Win/Mac) | Open Docker Desktop and wait |
CLI works only with sudo | Add user to docker group |