The error message “cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the Docker daemon running?” usually occurs when the Docker service is not running, or when you don’t have sufficient permissions to access the Docker daemon.
Here are some steps to troubleshoot and fix this issue:
Check if Docker is running:
You can check the status of the Docker service by running the following command:
For Linux:
sudo systemctl status docker
For macOS (Docker Desktop):
docker system info
Start Docker if it’s not running:
If the Docker service is not running, start it with the following command:
For Linux:
sudo systemctl start docker
For macOS (Docker Desktop):
- Open the Docker Desktop application and start the Docker service from the app’s interface.
Verify Docker is running:
After starting the Docker service, check its status again using the same command as before. If the Docker service is running, the issue should be resolved.
Check user permissions:
If the Docker service is running, but you still can’t connect to the Docker daemon, it might be a permissions issue. By default, the Docker daemon requires root privileges. You can add your user to the “docker” group to grant the necessary permissions:
For Linux:
sudo usermod -aG docker $USER
After running this command, you’ll need to log out and log back in, or restart your system, for the changes to take effect.
Verify user permissions:
To verify that your user has the necessary permissions, try running a simple Docker command without using “sudo”:
docker ps
If the command works, your user now has the necessary permissions.
Check the Docker daemon configuration:
If you still cannot connect to the Docker daemon, it might be due to a misconfigured Docker daemon. Check the Docker daemon configuration file at /etc/docker/daemon.json
(Linux) or ~/.docker/daemon.json
(macOS) and ensure that the settings are correct.
Restart the Docker daemon:
If you’ve made any changes to the Docker daemon configuration, restart the Docker service for the changes to take effect:
For Linux:
sudo systemctl restart docker
For macOS (Docker Desktop):
- Restart the Docker service from the app’s interface.
After completing these steps, you should be able to connect to the Docker daemon. If the issue persists, consult the Docker documentation or seek help from the Docker community.