[FIX] Hindi Makakonekta sa Docker Daemon sa 'unix: ///var/run/docker.sock'

utos tulad ng inilarawan sa ibaba.



Tandaan: Gumagana lamang ang pamamaraang ito para sa mga gumagamit na nag-install ng Docker sa APT package manager. Kung na-install mo ang Docker sa pamamagitan ng SNAP , sumangguni sa Solusyon 5 sa ibaba.

  1. Buksan ang Terminal at isagawa ang unang utos - alisin ang takip na docker .
sudo systemctl unmask docker

Kung susubukan naming simulan ang serbisyo ng docker kapag ang docker ay nakamaskara, maaari naming harapin ang error'Nabigong simulan ang docker.service: Ang unit ay nakamaskara.'Ang mask ay maaaring maituring na isang mas matatag na bersyon ng hindi pagpapagana. Kapag ang isang file ng unit ay nakamaskara, ang unit ay naka-link sa‘Dev / null. ’Maaari mong ilista ang estado ng lahat ng mga file ng unit na may utos -‘ $ systemctl list-unit-files '



2. Kapag ang docker unit ay walang maskara , kaya natin simulan ang docker daemon kasama ang utos ng systemctl. Ang pantalan daemon namamahala ng mga bagay ng docker tulad ng mga kahilingan sa Imahe, Lalagyan, at Docker API. Ipatupad ang utos sa ibaba sa linya ng utos.



systemctl simulan ang docker
Simulan ang Serbisyo ng Docker

Simulan ang Serbisyo ng Docker



3. Upang patunayan kung ang serbisyo ng docker ay aktibo at tumatakbo . Gagamitin namin ang katayuan ng systemctl utos, na nagpapakita ng kasalukuyang katayuan ng partikular na serbisyo. Ipatupad ang utos sa ibaba sa iyong Terminal.

docker ng katayuan ng systemctl
Katayuan ng serbisyo ng docker

Katayuan ng serbisyo ng docker

Mula sa larawan sa itaas, maaari nating makita iyon ang docker ay aktibo at tumatakbo .



Solusyon 2: Linisin ang isang 'Nabigong Docker Pull' at simulan ang serbisyo ng Docker

Mayroong mga kaso kung saan maaaring hindi mo inaasahang isara ang Docker habang kumukuha ng lalagyan. Ang mga nasabing sitwasyon ay tatakpan ang docker.service at docker .socket mga file. Ang Docker.socket ay isang file na matatagpuan sa ‘/var/run/docker.sock 'at ginagamit upang makipag-usap sa Docker daemon. Kakailanganin namin ibagsak ang maskara ang dalawang-yunit na mga file - docker .service at docker.daemon bago nagpapatuloy sa simulan ang docker

  1. Ilunsad ang Terminal at isagawa ang utos sa ibaba:
systemctl unmask docker.service systemctl unmask docker.socket systemctl start docker.service
Simulan ang Serbisyo ng Docker

Simulan ang Serbisyo ng Docker

Kung nakakaranas ka pa rin ng error kahit na matapos ang pagpapatupad ng mga utos sa ibaba, kakailanganin namin tanggalin ang mga file sa Containerd direktoryo bago simulan muli ang Docker. Ang Containerd ay isang tampok na ipinakilala sa Docker 1.11 at ginagamit upang pamahalaan ang cycle ng buhay ng mga imahe ng Docker.

2. Buksan ang Terminal at isagawa ang mga utos sa ibaba. Tiyaking alam mo ang root password dahil kakailanganin natin ang matataas na mga pribilehiyo upang maisagawa ang mga utos.

sudo su service docker stop cd / var / run / docker / libcontainerd rm -rf containererd / * rm -f docker-containerd.pid service docker start
I-restart ang serbisyo ng docker

I-restart ang serbisyo ng docker

Solusyon 3: Simulan ang Serbisyo ng Dockerd (Docker Daemon)

Ang Dockerd ay ang Docker daemon na nakikinig sa mga Docker API at pinamamahalaan ang iba't ibang mga bagay ng Docker. Maaaring magamit ang Dockerd bilang isang kahalili sa utos na ‘ $ systemctl simulan ang docker 'Na ginagamit din upang simulan ang Docker daemon.

  1. Buksan Terminal at simulan ang dockerd sa pamamagitan ng pagpapatupad ng utos sa ibaba:
sudo dockerd
Simulan ang dockerd

Simulan ang dockerd

Solusyon 4: Simulan ang Docker sa utos ng Serbisyo

Kung gumagamit ka ng SysV init system , kung gayon ang utos ng systemctl ay hindi gagana para sa iyo. Kakailanganin naming gamitin ang utos ng serbisyo sa simulan ang docker daemon .

  1. ilunsad ang Terminal at magpatupad ang mga utos sa ibaba:
sudo service --status-lahat ng pagsisimula ng docker ng serbisyo ng sudo
Simulan ang serbisyo ng Docker

Simulan ang serbisyo ng Docker

Solusyon 5: Simulan ang Serbisyo ng Docker gamit ang Snap

Kung na-install mo ang Docker sa Snap manager ng package , kakailanganin mong gamitin ang snap command upang pamahalaan ang docker daemon.

Pangkalahatan, Awtomatikong pamahalaan ng Snap ang kanilang mga serbisyo. Gayunpaman, sa mga sitwasyong tulad ng error na ito, mangangailangan ito ng manu-manong interbensyon. Ang ilan sa mga argumento na maaari mong gamitin sa snap command ay may kasamang stop, start, at restart. Sa aming kaso, gagamitin namin ang parameter ng pagsisimula.

  1. Buksan ang Terminal at isagawa ang utos sa ibaba upang simulan ang Docker .
sudo snap simulan ang docker
Simulan ang Docker

Simulan ang Docker

2. Isagawa ang utos sa ibaba upang patunayan kung ang Sinimulan ang serbisyo ng docker.

sudo snap serbisyo

Kalooban na listahan lahat ng tumatakbo snap serbisyo .

Mga Serbisyo sa Snap

Mga Serbisyo sa Snap

Kung hindi gagana para sa iyo ang mga utos sa itaas, subukan pagkonekta sa docker: plug ng bahay dahil hindi ito awtomatikong konektado bilang default. Kapag tapos na, umpisahan ang Serbisyo ng docker .

3. Ilunsad ang Terminal at patakbuhin ang mga utos sa ibaba:

sudo snap connect docker: home: home sudo snap start docker
Simulan ang Docker

Simulan ang Docker

Solusyon 6: Simulan ang Docker para sa mga gumagamit nang walang Root P magkaaway

Ang error ay maaari ring lumabas dahil sa kawalan ng mataas na pribilehiyo at ang gumagamit ay walang access sa ‘unix: ///var/run/docker.sock.’ Sa kabutihang palad mayroong isang solusyon sa pag-areglo. I-export namin ang variable ng Docker Host sa localhost sa pamamagitan ng port 2375.

  1. Buksan ang Terminal at patakbuhin ang utos sa ibaba:
i-export ang DOCKER_HOST = tcp: // localhost: 2375
I-export ang DockerHost

I-export ang Host ng Docker

Solusyon 7: I-install muli ang Docker

Kung hindi malulutas ng mga solusyon sa itaas ang error, malaki ang posibilidad na magkaroon ka ng mga error sa pag-install. Upang mai-install nang tama ang Docker sa iyong Linux system, sundin ang mga hakbang mula sa Opisyal na website ng Docker .

Basahin ang 4 na minuto