Cannot connect to the Docker daemon at unix:///var

2020-02-26 08:05发布

Problem: I am trying to run docker inside vagrant, my Vagrantfile contains following:-

  config.vm.provision "docker" do |d|
     d.run "ubuntu",
       cmd: "bash -l",
       args: "-v '/vagrant:/var/www'"
  end

docker gets installed but when I run any command it gives the error below:-

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

I have tried

  1. https://docs.oracle.com/cd/E52668_01/E75728/html/section_rdz_hmw_2q.html

  2. logged in as root into vagrant and started docker still same problem.

  3. tried chmod on /var/run/docker.sock file

nothing seems to work.

output of ps -ef is

/usr/bin/dockerd

docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir 
/var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc

5条回答
干净又极端
2楼-- · 2020-02-26 08:45

On your ssh server, run:

  1. systemctl start docker

  2. systemctl status docker

Docker will start on the server and have a socket on its respective.

查看更多
走好不送
3楼-- · 2020-02-26 08:50

i've gotten the same error response. when i checkout the daemon.json file, and i found that

{
     "registry-mirrors": ["http://hub-mirror.c.163.com"]
     "graph": "/etc/docker/mirror"
}

as you can see, i missed "," so i corrected it so simple. how careless i was!

{
     "registry-mirrors": ["http://hub-mirror.c.163.com"],
     "graph": "/etc/docker/mirror"
}

sometimes you need check your code carefully

查看更多
唯我独甜
4楼-- · 2020-02-26 08:51

I faced a similar issue, running the command sudo service docker restart, followed by restarting the docker image fixed the issue for me

查看更多
时光不老,我们不散
5楼-- · 2020-02-26 08:54

Here is what happened to me and what could be a possible solution for someone else. I'm running on Ubuntu 16.04.

I ultimately purged and reinstalled everything from the docker-ce install. I mean everything. Still not working...

Through my internet wizardry I was able to find an article (I can't recall where, there were so many) mentioning that the file located at:

$ sudo nano /etc/systemd/system/docker.service

Had a -d in the place of the daemon at Execstart. That wasn't the case for me. I had ...daemon -D..., but I did notice that it was pointing to /usr/bin/local/docker. That didn't exist, but what does exist is /usr/bin/docker. In that location you will also find docker-containerd, dockerd, etc...

Anyway, I made the change to the docker.service file--simply dropping /local out of there. Saved. Then:

$ systemctl daemon-reload
$ sudo service docker restart
$ sudo service docker status (should see active (running))
$ sudo docker run hello-world

Success!

查看更多
相关推荐>>
6楼-- · 2020-02-26 08:54

Start docker deamon by systemctl start docker.service

Be sure to run command as superuser

查看更多
登录 后发表回答