Не удается подключиться к демону Docker в unix:///var/run/docker.sock. Демон работает докеры?

Проблема: я пытаюсь запустить Docker внутри Vagrant, мой Vagrantfile содержит следующее: -

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

Докер устанавливается, но когда я запускаю любую команду, выдает ошибку ниже: -

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

я пытался

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

  2. залогинился как root в vagrant и запустил докер все та же проблема.

  3. пробовал chmod on/var/run/docker.sock файле chmod on/var/run/docker.sock

кажется, ничего не работает.

вывод ps -ef равен

/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

Ответ 1

Вот что случилось со мной и что может быть возможным решением для кого-то еще. Я работаю на Ubuntu 16.04.

В конце концов я удалил и переустановил все из установки docker-ce. Я имею в виду все. Все еще не работает...

С помощью моего интернет-мастера я смог найти статью (я не могу вспомнить, где их было так много), в которой упоминалось, что файл находится по адресу:

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

Имел -d на месте демона в Execstart. Это было не так для меня. У меня был... демон -d..., но я заметил, что он указывает на /usr/bin/local/docker. Этого не существует, но существует /usr/bin/docker. В этом месте вы также найдете docker-containerd, dockerd и т. Д...

В любом случае, я внес изменения в файл docker.service - просто удалил /local оттуда. Сохраненный. Тогда:

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

успеха!

Ответ 2

На вашем SSH-сервере запустите:

  1. systemctl start docker

  2. systemctl status docker

Docker запускается на сервере и имеет соответствующий сокет.

Ответ 4

Я столкнулся с подобной проблемой, запустив команду sudo service docker restart последующим перезапуском образа docker, исправил проблему для меня

Ответ 5

Запустите docker deamon с помощью systemctl. Запустите docker.service.

Обязательно запустите команду как суперпользователь

Ответ 6

Я получил тот же ответ об ошибке. когда я извлекаю файл daemon.json, и я обнаружил, что

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

как вы можете видеть, я пропустил "," поэтому я исправил это так просто. как я был небрежен!

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

иногда вам нужно тщательно проверить код