docker: Couldn't connect to Docker daemon
Solution 1
Add sudo
This answer comes from Docker-Compose can't connect to Docker Daemon
Solution 2
Take a look a this thread. It seems to handle the same problem.
Answer:
The Docker machine is running. But you need to export some environment to connect to the Docker machine. By default, the docker CLI client is trying to communicate to the daemon using http+unix://var/run/docker.sock (as shown in the error message).
Export the correct environment variables using eval $(docker-machine env dev) and then try again. You can also just run docker-machine env dev to see the environment variables it will export. Notice that one of them is DOCKER_HOST, just as the error message suggests you may need to set.
Magick
Updated on July 24, 2022Comments
-
Magick almost 2 years
I am running Ubuntu with the following docker software installed:
$ docker version Client: Version: 1.9.1 API version: 1.21 Go version: go1.4.3 Git commit: a34a1d5 Built: Fri Nov 20 17:56:04 UTC 2015 OS/Arch: linux/amd64 Cannot connect to the Docker daemon. Is the docker daemon running on this host? $ docker-compose -v docker-compose version 1.7.0, build 0d7bf73
When trying to run docker-compose I am getting the following error:
$ sudo docker-compose up ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running? If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
I have tried the following:
systemctl unmask docker.service systemctl unmask docker.socket systemctl start docker.service sudo service docker status ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2016-04-29 13:36:57 CEST; 4min 3s ago Docs: https://docs.docker.com Main PID: 6394 (docker) Memory: 13.3M CPU: 119ms CGroup: /system.slice/docker.service └─6394 /usr/bin/docker daemon -H fd:// Apr 29 13:36:57 Charles docker[6394]: time="2016-04-29T13:36:57.722083467+02:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon opt...d IP address" Apr 29 13:36:57 Charles docker[6394]: time="2016-04-29T13:36:57.805189862+02:00" level=warning msg="Your kernel does not support swap memory limit." Apr 29 13:36:57 Charles docker[6394]: time="2016-04-29T13:36:57.827955299+02:00" level=info msg="Loading containers: start." Apr 29 13:36:57 Charles docker[6394]: time="2016-04-29T13:36:57.828083895+02:00" level=info msg="Loading containers: done." Apr 29 13:36:57 Charles docker[6394]: time="2016-04-29T13:36:57.828095512+02:00" level=info msg="Daemon has completed initialization" Apr 29 13:36:57 Charles docker[6394]: time="2016-04-29T13:36:57.828125198+02:00" level=info msg="Docker daemon" commit=a34a1d5 execdriver=native-0.2 graphdriver=aufs version=1.9.1 Apr 29 13:36:57 Charles systemd[1]: Started Docker Application Container Engine. Apr 29 13:37:10 Charles systemd[1]: Started Docker Application Container Engine. Apr 29 13:37:34 Charles systemd[1]: Started Docker Application Container Engine. Apr 29 13:38:01 Charles systemd[1]: Started Docker Application Container Engine. Hint: Some lines were ellipsized, use -l to show in full. anton@Charles:~/Documents/software/deliverable$ docker ps Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Sudo?
When I run using sudo docker seems to be running:
$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES $ docker ps Cannot connect to the Docker daemon. Is the docker daemon running on this host?
How can I fix this?
-
Rick about 8 yearsIs the Docker daemon indeed running? What do you get when you execute
docker version
(that also lists the daemon version, i.e. more details thandocker -v
)? -
Rick about 8 yearsCan you verify that using
systemctl
or whatever service manager you're using? -
Rick about 8 yearsSeems like that makes this a duplicate of stackoverflow.com/q/33562109/2137833
-
Gangaraju about 8 yearsPossible duplicate of Can't connect to docker from docker-compose
-
Magick about 8 yearsThis is not a duplicate, as the other posts are using a different OS. Also, the proposed solutions did not solve this issue.
-
Rick about 8 yearsSo, the daemon is running, but you cannot connect to it. Are you in the
docker
user group, just like they propose in my mentioned duplicate? You can check that by executinggroups
on your shell. -
Magick about 8 yearsYes.
$ groups anton adm sudo lpadmin sambashare docker
-
Rick about 8 yearsIf it does work with sudo, this still sounds like a group issue...
-
Magick about 8 yearsYes, and logging out and back in fix it. Thanks Rick.
-
joelnb about 8 yearsWhat are the permissions on
/var/run/docker.sock
? And have you logged out & back in since adding yorself to that group? EDIT: Glad you fixed it. You may want to answer your own question for visibility. -
Rick about 8 years@Magick, glad you solved it, but I rest my case it was a duplicate issue ;)
-
Magick about 8 yearsAgh, no rest for the wicked. The error is back.... :/
-
-
Magick about 8 yearsI dont have docker-machine installed. Do I need to install machine?
-
Rick about 8 yearsDocker Machine is just a tool for managing multiple docker instances. You don't necessarily need it, but it was apparently being used in the linked thread.
-
Abhay Maniyar almost 4 yearsFor everyone who wants to avoid adding
sudo
: digitalocean.com/community/questions/… -
dohpaz42 over 3 years@AbhayManiyar you should add an answer with those instructions. this is the correct way to do it without using sudo.