Fix: Kan ikke oprette forbindelse til Docker Daemon
Du kan være meget forvirret, hvis en Linux-terminal kaster en kan ikke oprette forbindelse til Docker daemon fejlen på dig, fordi mere end sandsynligt Docker Daemon allerede kører, når du ser det. Mens du vil sikre dig, at det er, vil du nok blive forvirret, når du opdager, at denne fejl ikke engang har at gøre med at tjenesten ikke bliver startet. Det bliver mest kastet hos brugere, der ikke har tilføjet sig til Docker-gruppen.
Docker udsteder en separat brugergruppe på Linux-systemer, og de, der har brugerkonti, der ikke er tilføjet til det, vil ikke kunne oprette forbindelse til det. Husk at tilføje en brugerkonto til Docker-gruppen er funktionel root-ækvivalent, da daemonen altid kører som rodbrugeren. Dette kan forventes på et enkeltbruger Ubuntu Server-system, men det vil helt sikkert være noget at huske på for dem, der kører Docker on Arch, Fedora eller Debian.
Metode 1: Kontrollerer Docker Service Status
Mens det næsten helt sikkert er, skal du kontrollere, om Docker-tjenesten aktuelt kører. I et terminalvindue kører systemctl status docker.service som en normal bruger. Du skal få nogle oplysninger om, hvilket PID nummer Dockers demon blev tildelt. Hvis du ikke gør det, skal du genstarte tjenesten.
Hvis du har genstartet det, skal du prøve at gøre hvad det var, der smed dig, der ikke kan forbinde Docker daemon fejlen. Hvis det nu virker, så har du bare ikke haft tjenesten i gang og behøver virkelig ikke bekymre dig om noget andet ud over, hvorfor det ikke kørte. Desværre fungerer dette ikke i de fleste tilfælde, så du bliver nødt til at gå videre i disse situationer.
Metode 2: Tilføjelse af brugere til Docker-gruppen
Kør dockerinfo fra kommandolinjen, hvilket normalt giver dig muligheden for ikke at oprette forbindelse til Docker daemon-fejlen igen.
PRO TIP: Hvis problemet er med din computer eller en bærbar computer / notesbog, skal du prøve at bruge Reimage Plus-softwaren, som kan scanne lagrene og udskifte korrupte og manglende filer. Dette virker i de fleste tilfælde, hvor problemet er opstået på grund af systemkorruption. Du kan downloade Reimage Plus ved at klikke herHvis dette er tilfældet, skal du køre sudo groupadd docker; sudo usermod -Ag docker $ USER for at føje dig til den rigtige gruppe. Skulle dette give en fejl, fordi du ikke har usermod, kan du ændre kommandoen til at køre som sudo groupadd docker; sudo gpasswd-a $ USER docker, men dette bør generelt ikke være et problem, fordi de fleste Linux-distributioner i kommercielt omfang arbejder med det samme sæt værktøjer. Kør under alle omstændigheder newgrp docker, så du kan blive logget ind i den nye docker gruppe, hvis du ikke allerede er.
Husk dette vil altid tilføje den bruger, du er logget ind som, hvilket ikke skal være for meget af et problem på de fleste systemers systemer, der ikke har flere konti ud over den ene bruger og rodkontoen. Da du har adgang til administrativ adgang, skal du køre sudo chgrp docker / usr / bin docker; sudo chgrp docker /var/run/docker.sock for at rette tilladelserne på dockerstikket og kommandoen. Normalt er hukommelsesfilen kun tilhørende root-brugeren, så dette vil rette op på det.
Efter at have kørt det, skal du ikke have nogen problemer, fordi den nu tilhører den samme gruppe, som du havde oprettet i den foregående kommando. Du vil gerne teste for at sikre, at docker kører uden sudo, men skriv så drevhello-verden som en almindelig bruger for at sikre, at du ikke får andre fejl.
På dette tidspunkt vil meget få brugere stadig modtage nogen form for fejlmeddelelse. De fleste ting skal rettes på dette tidspunkt, men hvis du stadig har problemer, kan du helt logge ud. Prøv at åbne et andet terminalemulatorvindue, men hvis det ikke virker, hjælper det nogle gange med at bringe systemet ned til en komplet genstart, hvis det overhovedet er muligt
Metode 3: Brug af ACL'er til at ændre Docker Metadata
Hvis du ikke vil tilhøre en gruppe, der gør dig som en rodbruger, kan du indstille socketfilen til at fungere med kun visse tilladelser. Du kan ignorere gpasswd-processen, hvis du foretrækker at gøre det på denne måde. At skulle scanne filsystemet til forskellige ACL-poster i en byrde for dem, der foretager en sikkerhedsrevision, men det forhindrer dig i at bruge dockergruppen helt.
Hvis du vil gøre det på denne måde, så kan du køre sudo setfacl -m bruger: navn: rw /var/run/docker.sock, mens du erstatter bruger og navn med de relevante etiketter. Dette giver tilladelse til at få adgang til Docker socket på /var/run/docker.sock, som skal fungere med Debian og Ubuntu Server.
PRO TIP: Hvis problemet er med din computer eller en bærbar computer / notesbog, skal du prøve at bruge Reimage Plus-softwaren, som kan scanne lagrene og udskifte korrupte og manglende filer. Dette virker i de fleste tilfælde, hvor problemet er opstået på grund af systemkorruption. Du kan downloade Reimage Plus ved at klikke her