Labojums: Nevar izveidot savienojumu ar Docker dēmonu



Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai

Jūs, iespējams, būsiet ļoti apmulsis, ja Linux terminālis jums uzrāda kļūdu “Nevar izveidot savienojumu ar Docker dēmonu”, jo, visticamāk, Docker dēmons jau darbojas, kad to redzat. Lai gan vēlaties pārliecināties, vai tā ir, jūs, iespējams, būsiet neizpratnē, uzzinot, ka šī kļūda nav saistīta pat ar to, ka pakalpojums netiek palaists. Tas galvenokārt tiek izmests lietotājiem, kuri nav pievienojušies Docker grupai.



Docker izsniedz atsevišķu lietotāju grupu Linux sistēmās, un tie, kuriem ir lietotāju konti, kas tai nav pievienoti, nevarēs ar to izveidot savienojumu. Paturiet prātā, ka lietotāja konta pievienošana Docker grupai ir funkcionāli saknes ekvivalents, jo dēmons vienmēr darbojas kā root lietotājs. To varētu sagaidīt viena lietotāja Ubuntu Server sistēmā, taču tas noteikti būs jāpatur prātā tiem, kas Docker izmanto Arch, Fedora vai Debian.



1. metode: Docker pakalpojuma statusa pārbaude

Lai gan gandrīz noteikti tā ir, jums būs jāpārbauda, ​​vai Docker pakalpojums pašlaik darbojas. Termināla logā palaidiet systemctl status docker.service kā parasts lietotājs. Jums vajadzētu iegūt informāciju par to, kurš PID numurs tika piešķirts Docker dēmonam. Ja tas nav izdarīts, jums būs jārestartē pakalpojums.



Ja esat to restartējis, mēģiniet darīt visu, kas bija tas, kas iemeta kļūdu “Nevar izveidot savienojumu ar Docker dēmonu”. Ja tas tagad darbojas, tad pakalpojums vienkārši nedarbojās, un jums nav jāuztraucas par kaut ko citu, izņemot iemeslu, kāpēc tas nedarbojās. Diemžēl lielākajā daļā gadījumu tas nedarbojas, tāpēc šajās situācijās jums būs jāturpina.

2. metode: lietotāju pievienošana Docker grupai

Palaist dokstacijas informācija no komandrindas, kas parasti atkal parādīs kļūdu “Nevar izveidot savienojumu ar Docker dēmonu”.

Ja tas tā ir, jums būs jāpalaiž sudo groupadd docker; sudo usermod -aG docker $ USER pievienot sevi pareizajai grupai. Ja tas rada kļūdu, jo jums nav lietotājprogrammas, varat mainīt komandu, lai tā darbotos sudo groupadd docker; sudo gpasswd -a $ USER docker , taču parasti tam nevajadzētu būt problēmai, jo lielākā daļa komerciālās klases Linux izplatīšanas darbojas ar vienu un to pašu rīku komplektu. Jebkurā gadījumā skrien newgrp dokstacija lai jūs varētu pieteikties jaunajā dokeru grupā, ja vēl neesat.



Paturiet prātā, ka tas vienmēr pievienos lietotāju, kurā pašlaik esat pieteicies, un tam nevajadzētu būt par daudz problēmu lielākajai daļai cilvēku sistēmu, kuriem nav vairāku kontu, izņemot vienu lietotāju un saknes kontu. Tā kā jums pašlaik ir ievadīta administratīvā piekļuve, palaidiet sudo chgrp docker / usr / bin docker; sudo chgrp docker /var/run/docker.sock lai labotu atļaujas dokstacijas ligzdā un komandā. Parasti ligzdas fails pieder tikai root lietotājam, tāpēc tas tiks izlabots.

Pēc tā palaišanas jums nevajadzētu būt nepatikšanām, jo ​​tā tagad pieder tai pašai grupai, kuru esat izveidojis iepriekšējā komandā. Tomēr vēlaties pārbaudīt, vai docker darbojas bez sudo, tāpēc ierakstiet docker palaist sveika pasaule kā parasts lietotājs, lai pārliecinātos, ka nesaņemat citas kļūdas.

Šajā brīdī ļoti nedaudzi lietotāji joprojām saņem jebkāda veida kļūdas ziņojumus. Šajā brīdī lielākā daļa lietu ir jālabo, taču, ja jums joprojām ir problēmas, ieteicams pilnībā atteikties. Mēģiniet atvērt citu termināla emulatora logu, bet, ja tas nedarbojas, dažreiz tas var palīdzēt sistēmu pilnībā restartēt, ja tas vispār ir iespējams

3. metode: ACL izmantošana Docker metadatu modificēšanai

Ja jūs nevēlaties piederēt grupai, kas padara jūs par root lietotāju, varat iestatīt, lai ligzdas fails darbotos tikai ar noteiktām atļaujām. Varat ignorēt gpasswd procesu, ja vēlaties to darīt šādā veidā. Skenējot failu sistēmu dažādiem ACL ierakstiem, apgrūtinot tos, kas veic drošības auditu, taču tas neļauj pilnībā izmantot docker grupu.

Ja vēlaties to darīt šādā veidā, tad varat skriet sudo setfacl -m lietotājs: nosaukums: rw /var/run/docker.sock vienlaikus aizstājot lietotāju un vārdu ar atbilstošām etiķetēm. Tas piešķir atļauju piekļūt Docker kontaktligzdai vietnē /var/run/docker.sock, kurai vajadzētu strādāt ar Debian un Ubuntu Server.

3 minūtes lasīts