[FIX] Cannot Connect to the Docker Daemon at „unix: ///var/run/docker.sock”

polecenie, jak opisano poniżej.



Uwaga: Ta metoda działa tylko dla użytkowników, którzy zainstalowali Dockera za pomocą menedżera pakietów APT. Jeśli zainstalowałeś Dockera za pośrednictwem KŁAPNIĘCIE , odnosić się do Rozwiązanie 5 poniżej.

  1. Otwórz terminal i wykonaj pierwsze polecenie - unmask docker .
sudo systemctl unmask docker

Jeśli spróbujemy uruchomić usługę dockera, gdy docker jest zamaskowany, możemy napotkać błąd„Failed to start docker.service: Unit is masked”.Maskę można uznać za bardziej niezawodną wersję wyłączania. Kiedy plik jednostek jest zamaskowany, jednostka jest połączona z„Dev / null. ”Możesz wyświetlić stan wszystkich plików jednostek za pomocą polecenia -„ $ systemctl list-unit-files '



2. Gdy jednostka dokująca jest zdemaskowany , możemy uruchom okno dokowane demon za pomocą polecenia systemctl. Plik doker demon zarządza obiektami platformy Docker, takimi jak obrazy, kontenery i żądania interfejsu API platformy Docker. Wykonaj poniższe polecenie w wierszu poleceń.



systemctl start docker
Uruchom usługę Docker

Uruchom usługę Docker



3. Do zweryfikować czy usługa docker jest aktywny i działa . Będziemy używać status systemctl polecenie, które pokazuje aktualny stan danej usługi. Wykonaj poniższe polecenie na swoim terminalu.

okno dokowane stanu systemctl
Stan usługi Dockera

Stan usługi Dockera

Widzimy to na powyższym obrazku doker jest aktywny i działa .



Rozwiązanie 2: Wyczyść „Failed Docker Pull” i uruchom usługę Docker

Istnieją przypadki, w których możesz nieoczekiwanie zamknąć Docker podczas ściągania kontenera. Takie sytuacje będą maskować docker.service i docker .socket akta. Docker.socket to plik znajdujący się pod adresem „/var/run/docker.sock 'i służy do komunikacji z demonem platformy Docker. Będziemy musieli zdemaskować pliki dwuczęściowe - wcześniej docker .service i docker.daemon postępowanie do uruchom docker.

  1. Uruchom Terminal i wykonaj polecenia poniżej:
systemctl unmask docker.service systemctl unmask docker.socket systemctl start docker.service
Uruchom usługę Docker

Uruchom usługę Docker

Jeśli nadal występuje błąd nawet po wykonaniu poniższych poleceń, będziemy musieli to zrobić usunąć pliki w Containerd katalogu przed ponownym uruchomieniem Dockera. Containerd był funkcją wprowadzoną w Docker 1.11 i służy do zarządzania cyklem życia obrazów platformy Docker.

2. Otwórz Terminal i wykonaj poniższe polecenia. Upewnij się, że znasz hasło roota ponieważ będziemy potrzebować wyższych uprawnień do wykonywania poleceń.

sudo su service docker stop cd / var / run / docker / libcontainerd rm -rf containerd / * rm -f docker-containerd.pid service docker start
Uruchom ponownie usługę docker

Uruchom ponownie usługę docker

Rozwiązanie 3: Uruchom usługę Dockerd (Docker Daemon)

Dockerd to demon Docker, który nasłuchuje interfejsów API platformy Docker i zarządza różnymi obiektami platformy Docker. Dockerd może być używany jako alternatywa dla polecenia „ $ systemctl start docker „Który jest również używany do uruchamiania demona Dockera.

  1. otwarty Terminal i uruchom dockerd wykonując poniższe polecenie:
sudo dockerd
Uruchom dockerd

Uruchom dockerd

Rozwiązanie 4: Uruchom platformę Docker za pomocą polecenia Service

Jeśli używasz System inicjujący SysV , to polecenie systemctl nie będzie działać. Będziemy musieli użyć polecenie obsługi do uruchom demona Dockera .

  1. uruchom Terminal i wykonać poniższe polecenia:
sudo service --status-all sudo service start
Uruchom usługę Docker

Uruchom usługę Docker

Rozwiązanie 5: Uruchom usługę Docker za pomocą Snap

Jeśli zainstalowałeś Docker z Menedżer pakietów Snap , do zarządzania demonem Dockera trzeba by użyć polecenia snap.

Ogólnie Snap zarządza swoimi usługami automatycznie. Jednak w sytuacjach takich jak ten błąd będzie wymagać ręcznej interwencji. Niektóre argumenty, których można użyć z poleceniem snap, obejmują zatrzymanie, uruchomienie i ponowne uruchomienie. W naszym przypadku użyjemy parametru start.

  1. Otwórz Terminal i wykonaj poniższe polecenie, aby uruchom Docker .
sudo snap start docker
Uruchom Docker

Uruchom Docker

2. Wykonaj poniższe polecenie, aby zweryfikować czy Usługa Docker została uruchomiona.

usługi sudo snap

To będzie lista wszystko działa usługi snap .

Usługi Snap

Usługi Snap

Jeśli powyższe polecenia nie działają, spróbuj podłączenie dockera: wtyczka domowa ponieważ domyślnie nie łączy się automatycznie. Raz zrobione, początek the Usługa Docker .

3. Uruchom Terminal i wykonaj poniższe polecenia:

sudo snap connect docker: home: home sudo snap start docker
Uruchom Docker

Uruchom Docker

Rozwiązanie 6: Uruchom Docker dla użytkowników bez Root P. przywileje

Błąd może również powstać z powodu brak podwyższonych przywilejów a użytkownik nie ma dostępu do „unix: ///var/run/docker.sock”. Na szczęście istnieje obejście. Wyeksportujemy zmienną Docker Host do localhost przez port 2375.

  1. Otwórz terminal i uruchom poniższe polecenie:
eksportuj DOCKER_HOST = tcp: // localhost: 2375
Eksportuj DockerHost

Eksportuj hosta platformy Docker

Rozwiązanie 7: Ponownie zainstaluj Docker

Jeśli powyższe rozwiązania nie rozwiążą problemu, istnieje duże prawdopodobieństwo, że wystąpią błędy instalacji. Aby poprawnie zainstalować Docker w systemie Linux, wykonaj kroki z Oficjalna strona Dockera .

4 minuty czytania