[FIX] Nu se poate conecta la Docker Daemon la „unix: ///var/run/docker.sock”

comanda descrisă mai jos.



Notă: Această metodă funcționează numai pentru utilizatorii care au instalat Docker cu managerul de pachete APT. Dacă ați instalat Docker prin SNAP , a se referi la Soluția 5 de mai jos.

  1. Deschideți terminalul și executați prima comandă - demascarea andocatorului .
sudo systemctl demască andocatorul

Dacă încercăm să pornim serviciul de andocare atunci când andocatorul este mascat, s-ar putea să ne confruntăm cu eroarea„Nu s-a putut porni docker.service: Unitatea este mascată.”Masca poate fi considerată o versiune mai robustă a dezactivării. Când un fișier de unitate este mascat, unitatea este legată de‘Dev / nul. ”Puteți lista starea tuturor fișierelor de unitate cu comanda -„ $ systemctl list-unit-files '



2. Odată ce unitatea de andocare este demascat , noi putem porniți andocatorul daemon cu comanda systemctl. docher daemon gestionează obiecte docker precum imagini, containere și solicitări API Docker. Executați comanda de mai jos pe linia de comandă.



systemctl start docker
Porniți serviciul Docker

Porniți serviciul Docker



3. Către verifica dacă serviciul de andocare este activ și rulează . Vom folosi starea systemctl comanda, care arată starea curentă a anumitor servicii. Executați comanda de mai jos pe terminal.

systemctl status docker
Starea serviciului Docker

Starea serviciului Docker

Din imaginea de mai sus, putem vedea asta andocatorul este activ și rulează .



Soluția 2: Curățați un „Fail Docker Pull” și porniți serviciul Docker

Există cazuri în care ați putea închide în mod neașteptat Docker în timp ce trageți un container. Astfel de situații vor masca docker.serviciu și docker .socket fișiere. Docker.socket este un fișier situat la „/var/run/docker.sock 'și este utilizat pentru a comunica cu demonul Docker. Va trebui demasca fișierele din două unități - docker .service și docker.daemon înainte procedură la pornește docker.

  1. Lansați Terminal și executați comenzi de mai jos:
systemctl unmask docker.service systemctl unmask docker.socket systemctl start docker.service
Porniți serviciul Docker

Porniți serviciul Docker

Dacă întâmpinați în continuare eroarea chiar și după executarea comenzilor de mai jos, va trebui șterge fișierele din Containerd înainte de a porni din nou Docker. Containerd a fost o caracteristică introdusă în Docker 1.11 și este utilizată pentru a gestiona ciclul de viață al imaginilor Docker.

2. Deschideți Terminal și executați comenzile de mai jos. Asigurați-vă că știți parola de root întrucât vom avea nevoie de privilegii ridicate pentru a executa comenzile.

sudo su service docker stop cd / var / run / docker / libcontainerd rm -rf containerd / * rm -f docker-containerd.pid service docker start
Reporniți serviciul de andocare

Reporniți serviciul de andocare

Soluția 3: Porniți serviciul Dockerd (Docker Daemon)

Dockerd este demonul Docker care ascultă API-urile Docker și gestionează diferitele obiecte Docker. Dockerd poate fi folosit ca alternativă la comanda „ $ systemctl start docker ‘Care este folosit și pentru a porni demonul Docker.

  1. Deschis Terminal și începe dockerd executând comanda de mai jos:
sudo dockerd
Porniți dockerd

Porniți dockerd

Soluția 4: Porniți Docker cu comanda Service

Dacă utilizați Sistem de inițiere SysV , atunci comanda systemctl nu va funcționa pentru dvs. Va trebui să folosim comanda de serviciu la porniți demonul docker .

  1. lansați Terminalul și a executa comenzile de mai jos:
sudo service --status-all sudo service docker start
Porniți serviciul Docker

Porniți serviciul Docker

Soluția 5: Porniți serviciul Docker cu Snap

Dacă ați instalat Docker cu Manager de pachete Snap , ar trebui să utilizați comanda snap pentru a gestiona demonul docker.

În general, Snap își gestionează automat serviciile. Cu toate acestea, în situații precum această eroare, va necesita intervenție manuală. Unele dintre argumentele pe care le puteți utiliza cu comanda snap includ oprirea, pornirea și repornirea. În cazul nostru, vom folosi parametrul start.

  1. Deschideți Terminalul și executați comanda de mai jos pentru pornește Docker .
sudo snap start docker
Porniți Docker

Porniți Docker

2. Executați comanda de mai jos la verifica dacă Serviciul Docker a fost pornit.

servicii sudo snap

Asta va fi listă toate alergând servicii instantanee .

Servicii Snap

Servicii Snap

Dacă comenzile de mai sus nu funcționează pentru dvs., încercați conectarea andocatorului: mufa de acasă deoarece nu este conectat automat în mod implicit. Odata facut, start Serviciu de andocare .

3. Lansați Terminalul și executați comenzile de mai jos:

sudo snap connect docker: acasă: acasă sudo snap start docker
Porniți Docker

Porniți Docker

Soluția 6: Porniți Docker pentru utilizatorii fără Root P privilegii

Eroarea ar putea apărea și din cauza lipsa unor privilegii ridicate iar utilizatorul nu are acces la „unix: ///var/run/docker.sock.” Din fericire, există o soluție. Vom exporta variabila Docker Host către localhost prin portul 2375.

  1. Deschideți terminalul și executați comanda de mai jos:
export DOCKER_HOST = tcp: // localhost: 2375
Exportați DockerHost

Exportați gazda Docker

Soluția 7: Reinstalați Docker

Dacă soluțiile de mai sus nu rezolvă eroarea, există o probabilitate mare să aveți erori de instalare. Pentru a instala corect Docker în sistemul dvs. Linux, urmați pașii din Site-ul oficial Docker .

4 minute citite