How to fix Docker can't connect to daemon?
The error message "Cannot connect to the Docker daemon at unix:/var/run/docker.sock. Is the docker daemon running?" typically occurs when the Docker client is unable to connect to the Docker daemon, either because it is not running or because it is not accessible to the client. Here are some steps you can take to fix this error:
Check if the Docker daemon is running by running the following command:
sudo systemctl status docker
If the Docker daemon is not running, you can start it using the following command:
sudo systemctl start docker
Check if the Docker daemon is accessible to the client by running the following command:
sudo docker info
If this command returns information about the Docker daemon, then the client is able to connect to the daemon and the error is likely caused by a permissions issue.
Check if the user running the Docker command is a member of the
docker group. Only users in the
docker group have permission to access the Docker daemon socket, which is located at
/var/run/docker.sock. You can add a user to the
docker group using the following command:
sudo usermod -aG docker <username>
<username> with the username of the user you want to add to the
If the above steps do not resolve the issue, you can try restarting the Docker daemon and/or restarting the Docker service on the host system:
sudo systemctl restart docker
sudo service docker restart
Note that some Linux distributions may use a different command to manage services, such as
systemctl instead of
service. Check the documentation for your distribution to determine the correct command to use.
If none of these steps resolve the issue, it is possible that there is a more serious problem with the Docker installation or configuration. Check the Docker logs and consult the Docker documentation for more information.
The fastest log
search on the planet
Better Stack lets you see inside any stack, debug any issue, and resolve any incident.
What is the difference between "expose" and "publish" in Docker?
In Docker, "expose" and "publish" are two related but distinct concepts that are used to control network access to containers. The "expose" instruction is used in a Dockerfile to specify which port...Questions
How to Start Docker Containers Automatically After a Reboot?
Docker provides restart policies to control whether your containers start automatically when they exit, or when Docker restarts. Restart policies ensure that linked containers are started in the co...Questions
How to Execute Multiple Commands in Docker-Compose?
It is possible to define and run multiple commands in the docker-compose.yml file. To execute multiple commands using Docker-Compose, structure the file in the following way: ... services: app: ...Questions
How can I expose more than 1 port with Docker?
You can expose more than one port in a Docker container by using the -p option when starting the container. The -p option maps a port on the host machine to a port in the container. You can specify...Questions
Make your mark
Join the writer's program
Are you a developer and love writing and sharing your knowledge with the world? Join our guest writing program and get paid for writing amazing technical guides. We'll get them to the right readers that will appreciate them.Write for us
Build on top of Better Stack
Write a script, app or project on top of Better Stack and share it with the world. Make a public repository and share it with us at our firstname.lastname@example.org
or submit a pull request and help us build better products for everyone.
See the full list of amazing projects on github