[FIX] Не удается подключиться к демону Docker в «unix: ///var/run/docker.sock»

команду, как описано ниже.



Заметка: Этот метод работает только для пользователей, которые установили Docker с помощью диспетчера пакетов APT. Если вы установили Docker через ЩЕЛЧОК , Ссылаться на Решение 5 ниже.

  1. Откройте Терминал и выполните первую команду - разоблачить докер .
sudo systemctl демаскировать докер

Если мы попытаемся запустить службу докеров, когда докер замаскирован, мы можем столкнуться с ошибкой«Не удалось запустить docker.service: объект замаскирован».Маску можно считать более надежным вариантом отключения. Когда файл модуля замаскирован, модуль связывается с‘Dev / null. ’Вы можете просмотреть состояние всех файлов объекта с помощью команды -‘ $ systemctl список-единиц-файлов '



2. После того, как докер разоблаченный , мы можем запустить докер демон с помощью команды systemctl. В докер демон управляет объектами докеров, такими как изображения, контейнеры и запросы API Docker. Выполните приведенную ниже команду в командной строке.



systemctl запустить докер
Запустить службу Docker

Запустить службу Docker



3. Чтобы проверить есть ли докер-сервис активен и работает . Мы будем использовать systemctl статус команда, которая показывает текущий статус конкретной службы. Выполните приведенную ниже команду на своем Терминале.

Докер состояния systemctl
Статус службы Docker

Статус службы Docker

На изображении выше мы видим, что докер активен и работает .



Решение 2. Удалите ошибку «Failed Docker Pull» и запустите службу Docker

Бывают случаи, когда вы можете неожиданно закрыть Docker при извлечении контейнера. Такие ситуации скроют docker.service и докер. сокет файлы. Docker.socket - это файл, расположенный по адресу ‘/var/run/docker.sock 'и используется для связи с демоном Docker. Нам нужно будет разоблачать файлы из двух единиц - docker .service и docker.daemon раньше продолжение к запустить докер.

  1. Запустить Терминал и выполнить команды ниже:
systemctl unmask docker.service systemctl unmask docker.socket systemctl start docker.service
Запустить службу Docker

Запустить службу Docker

Если вы все еще сталкиваетесь с ошибкой даже после выполнения приведенных ниже команд, нам нужно будет удалять файлы в Containerd каталог перед повторным запуском Docker. Containerd - это функция, представленная в Docker 1.11, которая используется для управления жизненным циклом образов Docker.

2. Откройте Терминал и выполните приведенные ниже команды. Убедитесь, что вы знаете пароль root поскольку нам потребуются повышенные привилегии для выполнения команд.

sudo su service docker stop cd / var / run / docker / libcontainerd rm -rf containerd / * rm -f docker-containerd.pid запуск докера службы
Перезапустить службу докеров

Перезапустить службу докеров

Решение 3. Запустите службу Dockerd (Docker Daemon)

Dockerd - это демон Docker, который слушает API-интерфейсы Docker и управляет различными объектами Docker. Dockerd можно использовать как альтернативу команде ‘ $ systemctl запустить докер ', Который также используется для запуска демона Docker.

  1. открыто Терминал и запустить dockerd выполнив команду ниже:
sudo dockerd
Запустить dockerd

Запустить dockerd

Решение 4. Запустите Docker с помощью команды Service

Если вы используете Система инициализации SysV , то команда systemctl вам не подойдет. Нам нужно будет использовать служебная команда к запустить демон докеров .

  1. запустите Терминал и выполнять команды ниже:
sudo service --status-all sudo service docker start
Запустить службу Docker

Запустить службу Docker

Решение 5. Запустите службу Docker с помощью Snap

Если вы установили Docker с Менеджер пакетов Snap , вам нужно будет использовать команду snap для управления демоном docker.

Как правило, Snap автоматически управляет своими услугами. Однако в таких ситуациях, как эта ошибка, потребуется вмешательство вручную. Некоторые из аргументов, которые вы можете использовать с командой snap, включают остановку, запуск и перезапуск. В нашем случае мы будем использовать параметр start.

  1. Откройте Терминал и выполните команду ниже, чтобы запустить докер .
sudo snap start docker
Запустить Docker

Запустить Docker

2. Выполните команду ниже, чтобы проверить будь то Сервис Docker был запущен.

службы sudo snap

Что будет список все работает оснастка услуги .

Сервисы Snap

Сервисы Snap

Если приведенные выше команды не работают для вас, попробуйте подключение докера: домашний штекер поскольку по умолчанию он не подключается автоматически. Когда-то сделали, Начало в Докер сервис .

3. Запустите Терминал и выполните следующие команды:

sudo snap connect docker: home: home sudo snap start docker
Запустить Docker

Запустить Docker

Решение 6. Запустите Docker для пользователей без Root P привилегии

Ошибка также может возникнуть из-за отсутствие повышенных привилегий и у пользователя нет доступа к «unix: ///var/run/docker.sock». К счастью, есть обходной путь. Мы экспортируем переменную Docker Host на localhost через порт 2375.

  1. Откройте Терминал и выполните команду ниже:
экспорт DOCKER_HOST = tcp: // localhost: 2375
Экспорт DockerHost

Экспорт хоста Docker

Решение 7. Переустановите Docker

Если указанные выше решения не устраняют ошибку, высока вероятность того, что у вас могут быть ошибки при установке. Чтобы правильно установить Docker в вашей системе Linux, следуйте инструкциям из Официальный сайт Docker .

4 минуты на чтение