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.
- 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
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
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.
- 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
Č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
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.
- Odprto Terminal in zaženi dockerd z izvajanjem spodnjega ukaza:
sudo 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 .
- zaženite terminal in izvršiti spodnji ukazi:
sudo service --status-all sudo service docker start
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.
- Odprite Terminal in izvedite spodnji ukaz za zaženite Docker .
sudo snap start 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
Č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
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.
- Odprite terminal in zaženite spodnji ukaz:
izvoz DOCKER_HOST = tcp: // localhost: 2375
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