I have installed docker on ubuntu 14.04, it told me installed successfully. Then I entered sudo docker version
, it returned
Client:
Version: 1.9.1
API version: 1.21
Go version: go1.4.2
Git commit: a34a1d5
Built: Fri Nov 20 13:12:04 UTC 2015
OS/Arch: linux/amd64
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
I entered sudo service docker status
, I got
docker start/running, process 8063
I tried sudo docker images
and sudo docker info
, I got the same reply:
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
I do not know why it returned this, I tried to pull ubuntu using sudo docker pull ubuntu
, and got
Using default tag: latest
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Please tell me how can I solve this problem, how can I pull and run docker image. And is docker -d
the same as docker deamon
?
You need to add your current user to docker
group like following:
sudo usermod -aG docker <your username>
Also, you can use USER
environment variable like:
sudo usermod -aG docker $USER
Then restart the system. As the docker documentation says:
The docker daemon binds to a Unix socket instead of a TCP port. By default that
Unix socket is owned by the user root and other users can access it
with sudo
. For this reason, docker daemon always runs as the root
user.
To avoid having to use sudo
when you use the docker
command, create a
Unix group called docker
and add users to it. When the docker daemon
starts, it makes the ownership of the Unix socket read/writable by the
docker
group.
If adding user to the docker
group doesn't work then try restarting the service:
sudo service docker restart
The only way that worked for me (on ubuntu xenial):
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo service docker restart
newgrp docker
Found here
In my case working answer is
$ docker-machine create -d virtualbox default
$ eval "$(docker-machine env default)"
If all the other solutions above don't work you can try checking the ownership of /var/run/docker.sock
:
ls -l /var/run/docker.sock
If you're not the owner then change ownership with the command:
sudo chown *your-username* /var/run/docker.sock
Then you can go ahead and try executing the Docker commands hassle-free :D
Am not sure if others have used this approach, but when I face this issue of "Is the docker daemon running on this host?", Unsetting docker related environment variables helps recognize the docker daemon running on my machine. The same error message shows up when I open a new tab in the terminal window and unsetting has helped resolve it.
unset ${!DOCKER_*}
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
If it's showing this error please check your typecode:
-> docker build -t swagger-ui-builder .
is correctly given. If miss some value show error .
Refer to this site: http://swagger.io/swagger-ui/