NUSTATYTI: Nepavyksta prisijungti prie „Docker Daemon“



Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas

Galite būti labai supainiotas, jei „Linux“ terminalas jums įmeta klaidą „Nepavyksta prisijungti prie„ Docker “deemono“, nes daugiau nei tikėtina, kad „Docker“ deimonas jau veikia, kai tai pamatote. Nors norėsite įsitikinti, kad taip yra, tikriausiai susimąstysite sužinoję, kad ši klaida net nėra susijusi su nepaleidžiama paslauga. Dažniausiai jis metamas vartotojams, kurie nebuvo įtraukti į „Docker“ grupę.



„Docker“ išleidžia atskirą vartotojų grupę „Linux“ sistemose, o tie, kurie turi prie jos nepridėtų vartotojo abonementų, negalės prie jos prisijungti. Turėkite omenyje, kad vartotojo abonemento pridėjimas prie „Docker“ grupės yra funkcinis šaknies atitikmuo, nes deimonas visada veikia kaip pagrindinis vartotojas. Tai gali būti tikimasi vieno vartotojo „Ubuntu Server“ sistemoje, tačiau tikrai turėsite tai nepamiršti tiems, kurie naudoja „Docker“ „Arch“, „Fedora“ ar „Debian“.



1 metodas: patikrinkite „Docker“ paslaugos būseną

Nors tai beveik neabejotinai, turėsite patikrinti, ar „Docker“ paslauga šiuo metu veikia. Prie terminalo lango paleiskite systemctl status docker.service kaip normalus vartotojas. Turėtumėte gauti šiek tiek informacijos apie tai, kuris PID numeris buvo priskirtas „Docker“ deemonams. Jei to nepadarysite, turėsite iš naujo paleisti paslaugą.



Jei turėtumėte jį paleisti iš naujo, pabandykite padaryti viską, kas buvo, sukėlus klaidą „Nepavyksta prisijungti prie„ Docker “deemono“. Jei jis dabar veikia, tada jūs tiesiog neturite paleisti paslaugos ir jums tikrai nereikia jaudintis dėl ko nors kito, išskyrus priežastį, kodėl ji neveikė. Deja, daugeliu atvejų tai neveikia, todėl tokiose situacijose turėsite judėti toliau.

2 metodas: Vartotojų įtraukimas į „Docker“ grupę

Bėk dokininko informacija iš komandinės eilutės, kuri vėl duos klaidą „Nepavyksta prisijungti prie„ Docker “deemono“.

Jei taip yra, turėsite paleisti sudo groupadd docker; sudo usermod -aG docker $ USER įtraukti save į tinkamą grupę. Jei dėl to atsiras klaida, nes neturite vartotojo modo, galite modifikuoti komandą, kad ji veiktų kaip sudo groupadd docker; sudo gpasswd -a $ USER dokas , tačiau paprastai tai neturėtų būti problema, nes dauguma komercinio lygio „Linux“ paskirstymų dirba su tais pačiais įrankių rinkiniais. Bet kokiu atveju bėk „newgrp“ dokininkas kad galėtumėte prisijungti prie naujos dokininkų grupės, jei dar nesate.



Atminkite, kad tai visada pridės naudotoją, prie kurio esate prisijungę, o tai neturėtų kelti daug problemų daugumos žmonių sistemose, neturinčiose kelių paskyrų, išskyrus vieną vartotoją ir pagrindinę paskyrą. Kadangi šiuo metu turite įvesti administratoriaus prieigą, paleiskite sudo chgrp docker / usr / bin docker; sudo chgrp docker /var/run/docker.sock nustatyti dokininko lizdo teises ir komandą. Paprastai lizdo failas priklauso tik pagrindiniam vartotojui, todėl tai bus ištaisyta.

Paleidę jį neturėtumėte turėti jokių problemų, nes dabar jie priklauso tai pačiai grupei, kurią sukūrėte ankstesnėje komandoje. Norėsite patikrinti, ar dokas veikia be „sudo“, taigi įveskite dokininkas paleisk sveiką pasaulį kaip paprastas vartotojas, kad įsitikintumėte, jog negaunate jokių kitų klaidų.

Šiuo metu labai nedaug vartotojų vis dar gaus bet kokį klaidos pranešimą. Šiuo metu dauguma dalykų turėtų būti ištaisyti, tačiau jei vis tiek kyla problemų, galbūt norėsite visiškai atsijungti. Pabandykite atidaryti kitą terminalo emuliatoriaus langą, bet jei tai neveikia, kartais tai gali padėti sistemą visiškai paleisti iš naujo, jei tai įmanoma

3 metodas: ACL naudojimas modifikuojant „Docker“ metaduomenis

Jei nenorite priklausyti grupei, dėl kurios jūs esate panašus į šakninį vartotoją, galite nustatyti, kad lizdo failas veiktų tik turėdamas tam tikrus leidimus. Galite ignoruoti „gpasswd“ procesą, jei norėtumėte tai padaryti tokiu būdu. Turint nuskaityti skirtingų ACL įrašų failų sistemą, tenka našta tiems, kurie atlieka saugos auditą, tačiau tai neleidžia jums visiškai naudotis dokų grupe.

Jei norite tai padaryti tokiu būdu, tada galite bėgti sudo setfacl -m vartotojas: vardas: rw /var/run/docker.sock o vartotoją ir vardą pakeisdami atitinkamomis etiketėmis. Tai suteikia leidimą pasiekti „Docker“ lizdą adresu /var/run/docker.sock, kuris turėtų veikti su „Debian“ ir „Ubuntu Server“.

3 minutes perskaityta