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

55

Я применил каждое решение, доступное в Интернете, но все же я не могу запустить Docker.

Я хочу использовать Scrapy Splash на моем сервере.

Вот history команд, которые я запускал.

docker run -p 8050:8050 scrapinghub/splash
sudo docker run -p 8050:8050 scrapinghub/splash
sudo usermod -aG docker $(whoami)
sudo docker run -p 8050:8050 scrapinghub/splash
newgrp docker
sudo docker run -p 8050:8050 scrapinghub/splash
reboot
sudo docker run -p 8050:8050 scrapinghub/splash
docker run -p 8050:8050 scrapinghub/splash

Вы можете видеть, что я тоже пытался перезапустить свой сервер, но это не помогло.

см. вывод ps -aux | grep docker ps -aux | grep docker

root@mani:/var/www/html# ps aux | grep docker
root      8524  0.0  0.8 127904 13964 ?        Ssl  17:21   0:00 /usr/bin/dockerd --raw-logs
root      8534  0.0  0.3  90588  5012 ?        Ssl  17:21   0:00 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
root      8543  0.0  0.0   8812   764 pts/1    S+   17:21   0:00 grep --color=auto docker
root     16356  0.0  0.0  17200   964 pts/1    S    17:14   0:00 newgrp docker
root     20080  0.0  0.0  17200   964 pts/1    S    17:06   0:00 newgrp docker
root     30221  0.0  0.0  17200   964 pts/1    S    17:09   0:00 newgrp docker
  • 0
    Если вы запускаете ps aux | grep docker, вы видите, что процесс демона запущен?
  • 0
    Возможный дубликат: stackoverflow.com/questions/21871479/…
Показать ещё 10 комментариев
Теги:
docker
ubuntu-14.04

13 ответов

58

Вы можете попробовать:

systemctl start docker

Это сработало для меня.

Ps: after, если есть команды, которые вы не можете обойтись без sudo, попробуйте следующее:

gpasswd -a $USER docker
  • 0
    Это сработало для меня.
  • 1
    Для меня тоже спасибо
Показать ещё 3 комментария
15

Вы можете получить эту ошибку, если докер не отключится. Следующий ответ для пакета докеры.

Запустите snap logs docker и найдите следующее:

Error starting daemon: pid file found, ensure docker is not running or delete /var/snap/docker/179/run/docker.pid

Удаление этого файла и перезагрузка докеров работали на меня.

rm /var/snap/docker/179/run/docker.pid
snap stop docker
snap start docker

Обязательно замените "179" на соответствующий номер версии

  • 1
    Очень хорошо объяснил. Работал на меня.
12

Во-первых, попробуйте с sudo, так как у текущего пользователя могут отсутствовать разрешения на доступ к демонам докеров, то есть /var/run/docker.sock

Если он все еще не работает, после установки просто остановите демон докеров,

$ sudo service docker stop

И запустите следующую команду для запуска демона в фоновом режиме,

$ sudo nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

Чтобы упростить работу с Docker, вы должны добавить свое имя пользователя в группу пользователей Docker. Добавление пользователя в группу можно выполнить с помощью команды внизу, добавив ваше имя пользователя в конце

$ sudo usermod -aG docker

Кроме того, этот шаг упоминается в официальной документации докеров. Послеустановочные шаги для Linux (https://docs.docker.com/engine/installation/linux/linux-postinstall/)

Пользователи Ubuntu 16.04 могут выполнять следующие действия,

Внутри файла /lib/systemd/system/docker.service change: ExecStart =/usr/bin/dockerd fd:// с ExecStart =/usr/bin/dockerd -H tcp://0.0.0.0: 2375

Внутри файла /etc/init.d/docker изменить:

DOCKER_OPTS = с DOCKER_OPTS = "-H **** tcp://0.0.0.0: 2375 "

а затем перезагрузите компьютер. И начните играть с докеров.

  • 0
    выполнение sudo nohup docker daemon -H http://tcp://0.0.0.0:2375 () -H http://unix:///var/run/docker.sock выдает bash: syntax error near unexpected token (' `
  • 0
    Я работаю на Redhat Linux
Показать ещё 5 комментариев
8

Просто беги

sudo dockerd

и тебе будет хорошо идти.

  • 2
    Это единственная команда, которая работает для меня. Я думаю, что это смешно, что приходится прыгать через столько обручей, чтобы запустить и запустить Docker.
5

Это обычно происходит, если вы, вероятно, не остановили докер.

Разрешить

service docker stop
cd /var/run/docker/libcontainerd
rm -rf containerd/*
rm -f docker-containerd.pid
service docker start

затем "docker run....", чтобы загрузить изображение и запустить контейнер как обычно

  • 2
    попробовал ваше предложение, опять же ошибка
2

вот решение, которое у меня работает на Linux

systemctl start docker.

0

Я столкнулся с той же проблемой в Linux, когда я установил docker с помощью yum (yum install docker).

Решение: скачайте бинарный файл docker с официального сайта: установите, распакуйте docker и следуйте инструкциям по установке.

0

Для меня решение было просто убедиться, что я установил правильный пакет Docker. Например, для Ubuntu устаревшие пакеты:

  • докер
  • Докер-двигатель
  • docker.io
  • containerd
  • RunC

Для установки проверьте https://docs.docker.com. Инструкции предоставляются для Ubuntu, CentOS, Debian и Fedora на момент написания.

  • 0
    Вы пропустили несколько шагов: перейдите по этой ссылке для подписания репо. medium.com/@sebagomez/...
  • 0
    @ Роберт, выше, я также обращаюсь к официальному docs.docker, чтобы получить ключ PGP. Это более безопасно, чем пользователи, копирующие его с этого сайта или носителя.
Показать ещё 2 комментария
0

export DOCKER_HOST = tcp://localhost: 2375 идеально подходит для всех, у кого нет доступа sudo, а у пользователя нет доступа к unix:///var/run/docker.sock

0

используйте это в экспорте Ubuntu DOCKER_HOST = tcp://localhost: 2375

0

Это сработало для меня. Это может сработать только для вас, если вы используете Ubuntu 16 или 18 (14 также может работать). Легко попробовать:

Перейдите в Ubuntu Software, введите Docker. Удалите docker (108 МБ), если он там предустановлен. Установите Docker. Теперь запустите команды и посмотрите, появляется ли такая же ошибка.

Ошибка:

Изображение 3951

После выполнения вышеуказанных шагов. Изображение 3952

Как видите, это сработало :)

0

У меня была такая же проблема для запущенного узла gitlab CI: lts image:

  • Я только что перезапустил демон докеров и перезапустил контейнер, это сработало для меня.
0

Это только помогло мне демонизировать докер:

$ sudo systemctl edit docker

И поставьте линии для создания сервиса:

[Service]
    ExecStart=
    ExecStart=/usr/bin/docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

Конечно же, для системных дистрибутивов в Linux.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню