[FIX] Ne morem se povezati z Docker Daemonom na naslovu ‘unix: ///var/run/docker.sock’

ukaz, kot je opisano spodaj.



Opomba: Ta metoda deluje samo za uporabnike, ki so Docker namestili z upraviteljem paketov APT. Če ste Docker namestili prek SNAP , nanašati se na Rešitev 5 spodaj.

  1. Odprite terminal in izvedite prvi ukaz - razkrije docker .
sudo systemctl unmask docker

Če poskusimo zagnati storitev dockerja, ko je docker maskiran, se lahko soočimo z napako‘Docker.service ni uspel zagnati: enota je prikrita.’Masko lahko štejemo za močnejšo različico onemogočanja. Ko je datoteka enote prikrita, je enota povezana z‘Razvij / nično. 'Stanje vseh datotek enote lahko navedete z ukazom -' $ systemctl list-unit-files '



2. Ko je priključna enota razkrita , mi lahko zaženite priključno postajo demon z ukazom systemctl. The docker demon upravlja docker predmete, kot so Images, Containers in Docker API zahteve. Izvedite spodnji ukaz v ukazni vrstici.



zagon priklopnika systemctl
Zaženite Docker Service

Zaženite Docker Service



3. Za preverite ali je priklopna služba je aktiven in teče . Uporabili bomo status systeml ukaz, ki prikazuje trenutno stanje določene storitve. Izvedite spodnji ukaz na vašem terminalu.

priklopnik stanja sistema systemctl
Stanje storitve Docker

Stanje storitve Docker

Iz zgornje slike lahko to vidimo priklopna enota je aktivna in deluje .



2. rešitev: Očistite storitev »Failed Docker Pull« in zaženite storitev Docker

Obstajajo primeri, ko lahko med vlečenjem posode nepričakovano zaprete Docker. Takšne situacije bodo prikrile docker.service in docker .socket datotek. Docker.socket je datoteka, ki se nahaja na/var/run/docker.sock 'in se uporablja za komunikacijo z demonom Docker. Morali bomo razkrije datotek z dvema enotama - docker .service in docker.daemon prej nadaljevanje do start docker.

  1. Zaženite Terminal in zaženite ukazi spodaj:
systemctl razkrije docker.service systemctl razkrije docker.socket systemctl zaženi docker.service
Zaženite Docker Service

Zaženite Docker Service

Če se napaka še vedno pojavlja tudi po izvajanju spodnjih ukazov, jo bomo morali izbriši datoteke v Vsebnik imenik, preden znova zaženete Docker. Containerd je bila funkcija, predstavljena v Dockerju 1.11, in se uporablja za upravljanje Dockerjevega življenjskega cikla.

2. Odprite Terminal in izvedite spodnje ukaze. Prepričajte se, da poznate root geslo saj bomo za izvajanje ukazov potrebovali povišane privilegije.

sudo su servis docker stop cd / var / run / docker / libcontainerd rm -rf containerd / * rm -f docker-containerd.pid start docker service start
Znova zaženite storitev priklopne postaje

Znova zaženite storitev priklopne postaje

3. rešitev: Zaženite storitev Dockerd (Docker Daemon)

Dockerd je demon Dockerja, ki posluša Docker API-je in upravlja različne Dockerjeve predmete. Dockerd se lahko uporablja kot alternativa ukazu ‘ $ systemctl start docker 'Ki se uporablja tudi za zagon demona Docker.

  1. Odprto Terminal in zaženi dockerd z izvajanjem spodnjega ukaza:
sudo dockerd
Začni dockerd

Začni dockerd

4. rešitev: Zaženite Docker z ukazom Service

Če uporabljate SysV init sistem , potem ukaz systemctl ne bo deloval za vas. Morali bomo uporabiti servisni ukaz do zaženi demon docker .

  1. zaženite terminal in izvršiti spodnji ukazi:
sudo service --status-all sudo service docker start
Zaženite storitev Docker

Zaženite storitev Docker

5. rešitev: Zaženite storitev Docker s funkcijo Snap

Če ste Docker namestili z Upravitelj paketov snap , za upravljanje demona dockerja bi morali uporabiti ukaz snap.

Na splošno Snap samodejno upravlja svoje storitve. Vendar bo v primerih, kot je ta napaka, potreben ročni poseg. Nekateri argumenti, ki jih lahko uporabite z ukazom snap, vključujejo ustavitev, zagon in ponovni zagon. V našem primeru bomo uporabili začetni parameter.

  1. Odprite Terminal in izvedite spodnji ukaz za zaženite Docker .
sudo snap start docker
Zaženite Docker

Zaženite Docker

2. Izvedite spodnji ukaz do preverite ali je Začel se je servis Docker.

sudo snap storitve

To bo seznam vsi tečejo snap storitve .

Snap storitve

Snap storitve

Če vam zgornji ukazi ne ustrezajo, poskusite priklop dockerja: domači vtič saj privzeto ni samodejno povezan. Ko končate, začetek Docker storitev .

3. Zaženite terminal in zaženite spodnje ukaze:

sudo snap connect docker: domov: domov sudo snap start docker
Zaženite Docker

Zaženite Docker

6. rešitev: Zaženite Docker za uporabnike brez Root P privilegiji

Napaka lahko nastane tudi zaradi pomanjkanje povišanih privilegijev in uporabnik nima dostopa do „unix: ///var/run/docker.sock.“ Na srečo obstaja rešitev. Spremenljivko Docker Host bomo izvozili v localhost prek vrat 2375.

  1. Odprite terminal in zaženite spodnji ukaz:
izvoz DOCKER_HOST = tcp: // localhost: 2375
Izvozi DockerHost

Izvozi gostitelja Dockerja

7. rešitev: Znova namestite Docker

Če zgornje rešitve ne odpravijo napake, obstaja velika verjetnost, da imate napake pri namestitvi. Če želite pravilno namestiti Docker v sistem Linux, sledite navodilom v Uradna spletna stran Dockerja .

4 minute branja