[FIX] Не може да се свърже с Docker Daemon в ‘unix: ///var/run/docker.sock’

команда, както е описано по-долу.



Забележка: Този метод работи само за потребители, които са инсталирали Docker с APT мениджъра на пакети. Ако сте инсталирали Docker чрез SNAP , Препоръчай на Решение 5 По-долу.

  1. Отворете терминала и изпълнете първата команда - демаскирайте докер .
sudo systemctl демаскира докер

Ако се опитаме да стартираме услугата докер, когато докерът е маскиран, може да се сблъскаме с грешката‘Неуспешно стартиране на docker.service: Устройството е маскирано.’Маската може да се счита за по-стабилна версия на деактивирането. Когато файлът с единица е маскиран, единицата е свързана с‘Dev / null. ’Можете да изброите състоянието на всички единични файлове с командата -‘ $ systemctl list-unit-files '



2. След като докер единицата е демаскиран , ние можем стартирайте докера демон с командата systemctl. The докер демон управлява докер обекти като изображения, контейнери и заявки за API на Docker. Изпълнете командата по-долу на командния ред.



systemctl старт докер
Стартирайте Docker Service

Стартирайте Docker Service



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 демаскирайте docker.service systemctl демаскирайте docker.socket systemctl стартирайте docker.service
Стартирайте Docker Service

Стартирайте Docker Service

Ако все още изпитвате грешката дори след изпълнението на командите по-долу, ще трябва Изтрий файловете в Контейнер директория, преди да стартирате отново 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 start docker start
Рестартирайте докер услугата

Рестартирайте докер услугата

Решение 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-всички стартиране на sudo service docker
Стартирайте услугата Docker

Стартирайте услугата Docker

Решение 5: Стартирайте услугата Docker с Snap

Ако сте инсталирали Docker с Snap package manager , ще трябва да използвате командата snap, за да управлявате демона на докера.

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

  1. Отворете терминала и изпълнете командата по-долу, за да стартирайте Docker .
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 минути четене