Fix Can’t connect to docker daemon on “unix:///var/run/docker.sock”
Using Docker, you run a service on the host operating system. The Docker application is currently only available for Linux due to its dependency on some features of the Linux kernel. However, macOS and Windows users can also run Docker. But for the last couple of days, it hasn’t been working properly on Windows devices. Yes, many users have reported that they get an error message saying that they “cannot connect to the Docker daemon at (unix:///var/run/docker.sock. Is the Docker daemon running?)”.
Well, generally, this type of issue occurs when running various docker commands like docker info, docker pull, docker stop, docker start, etc. However, you don’t have to worry about this as we have put together a few fixes in this article .. this will help you fix the error message that can’t connect to docker daemon in unix:///var/run/docker.sock. Docker daemon running? So let’s start with them.
What is a docker daemon?
The Docker Daemon is the process that manages container images, networks, and storage volumes. Throughout the process, the Docker daemon keeps track of requests made through the Docker API.
In addition to responding to Docker API requests, the Docker daemon (dockerd) manages Docker objects, including images, containers, networks, and volumes. As part of managing Docker services, daemons can communicate with each other.
How to Fix Can’t Connect to Docker Daemon
Complaints from developers pushed us to develop effective solutions. This error can be caused by a number of factors, including Docker not running when Docker is turned off, it doesn’t work properly, and Docker can’t be started due to lack of root privileges.
So, as you understand, the root cause of your problem i.e. unable to connect to docker daemon at unix:///var/run/docker.sock. Docker daemon running?; so let’s look at some possible solutions.
Fix 1: Clear “Failed Docker Pull”and start the Docker service.
The Docker application may close unexpectedly while extracting a container, which is why you get this type of error. Under such circumstances, the Docker service and socket files will be hidden. To communicate with Docker, a file named Docker.socket can be found in /var/run/docker.sock. Therefore, Docker will not start until we unmask two files – Docker.service and docker.daemon.
- Open a terminal and use these commands :
systemctl разоблачить docker.service systemctl размаскировать docker.socket systemctl запустить docker.service
- We will now need to remove the files from the Containers directory before restarting Docker if you are still facing the error after running the commands below. Then run this command. However, make sure you know the root password as we will need elevated privileges.
sudo su docker service stop
cd /var/run/docker/libcontainerd rm -rf containerd/* rm -f docker containerd.pid
start service docker
Fix 2: Start the Docker Service with systemctl
There is a high chance that the Docker service is not running if you just installed Docker on Ubuntu or if you rebooted your computer. It is a Docker daemon (dockerd) that provides Docker services. This is where the service receives a Docker API request and deals with various Docker objects such as images, containers, networks, and volumes.
Using systemctl, you can control system services running on Linux, replacing the old SysV init system. The service command can be used if you don’t have systemctl installed. However, if you don’t know how to do it, be sure to follow these steps:
- Open a Windows terminal and run the command to expose Docker:
sudo systemctl разоблачить докер
The mask can be thought of as a more robust version of disabling Docker.service. The error will appear if we try to start the service while the device is masked. The masked unit files are associated with the device dev/nul l. With the command $ systemctl list-unit-files you can view the status of all unit files.
- The systemctl command can be used after the docker box has been unmasked. Run this command:
systemctl запустить докер
- Make sure Docker is up and running. To view the current status of a service, we will use the systemctl status command. You can run this command:
докер состояния systemctl
Fix 3: Start Docker with a Service Command
If the above method doesn’t work for you, chances are your device may be using the SysC init system. Well, if that’s the case, chances are the systemctl command might not be right for you.
Instead, you will have to use a service command to start the docker daemon without getting the error, cannot connect to docker daemon at unix:///var/run/docker.sock. Docker daemon running? So let’s see how you do it:
- Open a Windows terminal and run this command:
служба sudo --status-all
запуск докера службы sudo
Fix 4: Start the Dockerd Service (Docker Daemon)
You can also use the Dockerd service to start the Docker daemon if none of the above methods work for you. However, to use the Dockerd service, you need to do the following:
- First, open a Windows Terminal and run the command:
судо докерд
Fix 5: Run Docker for non- root users
Several users have reported that running Docker without root privileges helps them fix the error message “cannot connect to docker daemon at unix:///var/run/docker.sock. Docker daemon running? So let’s check the steps:
- Open a Windows terminal and run the command:
экспорт DOCKER_HOST=tcp://localhost:2375
Fix 6: Start Docker Service with Snap
If you installed it using the Snap package manager, Docker could be controlled using the snap command. This is because the services Snap manages are usually automated. However, manual intervention may be required in such situations. Therefore, in order to use this to run Docker, you must follow these steps:
- Open a Windows terminal and run the command:
sudo snap запустить докер
- Once the above command is done, run this command:
сервисы sudo snap
Fix 7: Reinstall Docker
If you have already tried all the above fixes to resolve the error message “cannot connect to docker daemon at unix:///var/run/docker.sock. Is the Docker daemon running?”, then other than reinstalling Docker on your PC, you should leave the option. However, if you don’t know how to reinstall Docker, you can go to the official Ubuntu website and check out how to do it.
Take stock | Start the Docker daemon
So, here’s how to fix the error message that can’t connect to docker daemon at unix:///var/run/docker.sock. Docker daemon running? We hope you find this troubleshooting article helpful. But, if you have any doubts or questions, leave a comment below and let us know. Also, don’t forget to check out our other guide on iTechHacks.
Leave a Reply