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
https://docs.oracle.com/cd/E52668_01/E75728/html/section_rdz_hmw_2q.html
logged in as root
into vagrant and started docker still same problem.
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
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!
On your ssh server, run:
systemctl start docker
systemctl status docker
Docker will start on the server and have a socket on its respective.
我遇到了类似的问题,运行命令sudo service docker restart
,然后重新启动 docker 映像为我解决了这个问题
Start docker deamon by systemctl start docker.service
Be sure to run command as superuser
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
In my case I had to do:
sudo rm /var/run/docker.pid
sudo docker start [my_container]
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.