Fix: Kan ikke koble til Docker Daemon
Du kan være veldig forvirret hvis en Linux-terminal kaster en kan ikke koble til Docker daemon-feilen på deg, fordi det er mer enn sannsynlig at Docker-daemonen allerede kjører når du ser det. Mens du vil sørge for at det er, vil du sannsynligvis bli forvirret når du finner ut at denne feilen ikke engang har å gjøre med at tjenesten ikke blir startet. Det blir mest kastet på brukere som ikke har lagt seg til Docker-gruppen.
Docker utsteder en egen brukergruppe på Linux-systemer, og de som har brukerkontoer som ikke er lagt til det, vil ikke kunne koble seg til det. Husk at å legge til en brukerkonto til Docker-gruppen er funksjonell rotkvivalent siden daemonen alltid kjører som rotbruker. Dette kan forventes på et enkeltbruker Ubuntu Server-system, men det vil sikkert være noe å huske på for de som kjører Docker on Arch, Fedora eller Debian.
Metode 1: Kontroller Docker Service Status
Mens det nesten er sikkert, må du sjekke om Docker-tjenesten kjører. I et terminalvindu, kjør systemctl status docker.service som en vanlig bruker. Du bør få litt informasjon om hvilket PID-nummer Dockers demon ble tildelt. Hvis du ikke gjør det, må du starte tjenesten på nytt.
Skulle du ha startet det på nytt, prøv å gjøre hva det var som kastet deg, kan ikke koble til Docker daemon-feilen. Hvis det nå fungerer, har du nettopp ikke fått tjenesten til å løpe og trenger ikke å bekymre deg for noe annet enn at det ikke kjørte. Dessverre virker dette ikke i flertallet av tilfeller, så du må fortsette i disse situasjonene.
Metode 2: Legge til brukere til Docker-gruppen
Kjør dockerinfo fra kommandolinjen, som vanligvis gir deg muligheten til ikke å koble til Docker daemon-feilen igjen.
PRO TIPS: Hvis problemet er med datamaskinen eller en bærbar PC / notatbok, bør du prøve å bruke Reimage Plus-programvaren som kan skanne arkiver og erstatte skadede og manglende filer. Dette fungerer i de fleste tilfeller der problemet er oppstått på grunn av systemkorrupsjon. Du kan laste ned Reimage Plus ved å klikke herHvis dette er tilfelle, må du kjøre sudo groupadd docker; sudo usermod -Ag docker $ USER for å legge deg til den riktige gruppen. Skulle dette gi en feil fordi du ikke har usermod, kan du endre kommandoen for å kjøre som sudo groupadd docker; sudo gpasswd-a $ USER docker, men dette bør vanligvis ikke være et problem fordi de fleste kommersielle Linux-distribusjoner jobber med det samme settet av verktøy. I alle fall, kjør newgrp docker slik at du kan bli logget inn i den nye dockergruppen hvis du ikke allerede er.
Husk dette vil alltid legge til brukeren du er logget inn som, som ikke skal være for mye av et problem på de fleste systemers systemer som ikke har flere kontoer utover den ene brukeren og root-kontoen. Siden du har administrativ tilgang inntastet for øyeblikket, kjør sudo chgrp docker / usr / bin docker; sudo chgrp docker /var/run/docker.sock for å fikse tillatelsene på dokkingstasjonen og kommandoen. Vanligvis tilhører stikkfilen bare roten brukeren, slik at dette vil korrigere det.
Etter å ha kjørt det, bør du ikke ha noen problemer fordi den tilhører samme gruppe som du hadde opprettet i forrige kommando. Du vil teste for å sikre at docker kjører uten sudo, skjønt, så skriv inn dokkeløs hello-world som en vanlig bruker for å sikre at du ikke får noen andre feil.
På dette tidspunktet vil svært få brukere fortsatt motta noen form for feilmelding. De fleste ting bør korrigeres på dette tidspunktet, men hvis du fortsatt har problemer, vil du kanskje helt logge ut. Prøv å åpne et annet terminalemulatorvindu, men hvis dette ikke virker, hjelper det noen ganger å få ned systemet for en fullstendig omstart hvis det er mulig
Metode 3: Bruk ACLer til å endre Docker Metadata
Hvis du ikke ønsker å tilhøre en gruppe som gjør deg som en roten bruker, kan du sette stikkfilen til å fungere med bare visse tillatelser. Du kan ignorere gpasswd-prosessen hvis du foretrekker å gjøre det på denne måten. Å skanne filsystemet for forskjellige ACL-poster i en byrde for de som gjør en sikkerhetsrevisjon, men det hindrer deg fra å måtte bruke dockergruppen helt.
Skulle du ønske å gjøre det på denne måten, kan du kjøre sudo setfacl -m bruker: navn: rw /var/run/docker.sock mens du erstatter bruker og navn med de aktuelle etikettene. Dette gir tillatelse til å få tilgang til Docker-kontakten på /var/run/docker.sock, som skal fungere med Debian og Ubuntu Server.
PRO TIPS: Hvis problemet er med datamaskinen eller en bærbar PC / notatbok, bør du prøve å bruke Reimage Plus-programvaren som kan skanne arkiver og erstatte skadede og manglende filer. Dette fungerer i de fleste tilfeller der problemet er oppstått på grunn av systemkorrupsjon. Du kan laste ned Reimage Plus ved å klikke her