I am getting an error message saying I can't connect to the docker daemon. I have looked into other people's answers who have had similar issues but it hasn't helped. I am running the version of Ubuntu 15.10. I will try to provide all the info I have.
root@# docker-compose -f docker-compose-deps.yml up -d
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.
Docker Version
root@# sudo docker version
Client:
Version: 1.9.1
API version: 1.21
Go version: go1.4.2
Git commit: a34a1d5
Built: Fri Nov 20 13:20:08 UTC 2015
OS/Arch: linux/amd64
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Docker-Compose Version
root@# docker-compose --version
docker-compose version 1.5.2, build 7240ff3
This is what happens if I try to stop or start the service...
root@# sudo service docker stop
stop: Unknown instance:
root@# sudo service docker start
docker start/running, process 5375
If I run ps aux | grep docker
root@# ps aux | grep docker
root 4233 0.0 0.0 13692 2204 pts/15 S+ 10:27 0:00 grep --color=auto docker
Any help would be greatly appreciated. Let me know if you may need anymore information.
This question is related to
ubuntu
terminal
docker
docker-compose
In my case your docker service might be stopped
Command to start docker service:
$ sudo systemctl start docker
Command to verify if it start:
$ sudo docker run hello-world
I had the same error, after 15 min of debugging. Turns out all it needs is a sudo
:)
Check out Create a Docker group to get rid of the sudo prefix.
Is there slight possibility you deleted default machine? But, first check if all files are there (OSX, similar on other systems)
brew install docker docker-compose docker-machine xhyve docker-machine-driver-xhyve
brew link docker docker-compose docker-machine xhyve docker-machine-driver-xhyve
sudo chown root:wheel /usr/local/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
sudo chmod u+s /usr/local/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
Also, install Docker App, as it much easier to maintain containers:
brew cask reinstall docker
ans start Docker app from finder (wait until service is fully started)
Then, check instalation with:
docker-machine ls
if no machines are present in list, create one and start it:
docker-machine create default
docker-machine start default
After this, build, compose and all other commands should work properly.
I got this error when there were files in the Dockerfile
directory that were not accessible by the current user. docker
could thus not upload the full context to the daemon and brought the "Couldn't connect to Docker daemon at http+docker://localunixsocket" message.
It appears your issue was created by an old Docker bug, where the socket file was not recreated after Docker crashed. If this is the issue, then renaming the socket file should allow it to be re-created:
$ sudo service docker stop
$ sudo mv /var/lib/docker /var/lib/docker.bak
$ sudo service docker start
Since this bug is fixed, most people getting the error Couldn't connect to Docker daemon
are probably getting it because they are not in the docker
group and don't have permissions to read that file. Running with sudo docker ...
will fix that, but isn't a great solution.
Docker can be run as a non-root user (without sudo
) that has the proper group permissions. The Linux post-install docs has the details. The short version:
$ sudo groupadd docker
$ sudo usermod -aG docker $USER
# Log out and log back in again to apply the groups
$ groups # docker should be in the list of groups for your user
$ docker run hello-world # Works without sudo
This allows users in the docker
group to run docker
and docker-compose
commands without sudo
. Docker itself runs a root, allowing some attacks, so you still need to be careful with what containers you run. See Docker Security Documentation for more details.
I had the same issue. After taking notes and analyzing some debugging results, finally, I solved what can be the same error. Start the service first,
service docker start
Don't forget to include your user to the docker group.
You should adding your user to the "docker" group with something like:
sudo usermod -aG docker ${USER}
In my case a have the same error when I try to docker-compose build
and my solution was just add sudo
sudo docker-compose build
I think it's because of right of access, you just have to write
sudo docker-compose-deps.yml up
just try with sudo
. It seems like permission issue!
sudo docker-compose -f docker-compose-deps.yml up -d
it worked for me.
Another reason why this error can show up: for me it was a malformed image-path definition in the docker-compose.yml
:
service:
image: ${CONTAINER_REGISTRY_BASE}/my-service
...
Lookis ok'ish first, but i had CONTAINER_REGISTRY_BASE=eu.gcr.io/my-project/
set on the env. Apparently the //
in the image path caused this error.
docker-compose: v.1.21.2
docker: 18.03.1-ce
For me the fix was to install a newer version (1.24) of docker-compose
using this article.
The previous version (1.17) was installed from ubuntu
's default repository, but after installing a newer version I managed to launch the container. Hope it helps somebody.
From the output of "ps aux | grep docker", it looks like docker daemon is not running. Try using below methods to see what is wrong and why docker is not starting
$ sudo tail -f /var/log/upstart/docker.log
$ sudo docker -d -D
I had this problem and did not want to mess things up using sudo
. When investigating, I tried to get some info :
docker info
Surprinsingly, I had the following error :
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http:///var/run/docker.sock/v1.38/info: dial unix /var/run/docker.sock: connect: permission denied
For some reason I did not have enough privileges, the following command solved my problem :
sudo chown $USER /var/run/docker.sock
Et voilĂ !
One way to resolve this would be to first add your user to the docker
group by running the following
sudo usermod -aG docker $USER
IMPORTANT: Remember to log out of your system (not just your terminal) and back in for this to take effect!
I used Ubuntu 16.04 and found this problem too when I used docker-compose. I fixed it by running this command.
$ sudo systemctl start docker
$ sudo docker-compose build
Source: Stackoverflow.com