Fix: Can not Connect met de Docker Daemon
Je zou heel erg in de war kunnen raken als een Linux-terminal een kan gooien die geen verbinding kan maken met de Docker-daemon-fout, omdat de Docker-daemon waarschijnlijk al draait als je dat ziet. Hoewel u zeker wilt weten dat dit zo is, zult u waarschijnlijk in de war raken wanneer u ontdekt dat deze fout niet eens te maken heeft met het feit dat de service niet wordt gestart. Het wordt vooral gegooid bij gebruikers die zichzelf niet hebben toegevoegd aan de Docker-groep.
Docker geeft een afzonderlijke gebruikersgroep uit op Linux-systemen en degenen met gebruikersaccounts die niet zijn toegevoegd, kunnen er geen verbinding mee maken. Houd er rekening mee dat het toevoegen van een gebruikersaccount aan de koppelingsgroep functioneel root-equivalent is, omdat de daemon altijd wordt uitgevoerd als de rootgebruiker. Dit kan worden verwacht op een Ubuntu-serversysteem voor één gebruiker, maar het zal zeker iets zijn om in gedachten te houden voor degenen die Docker on Arch, Fedora of Debian draaien.
Methode 1: Docker-servicestatus controleren
Hoewel dit vrijwel zeker het geval is, moet u controleren of de Docker-service momenteel actief is. Voer in een terminalvenster systemctl-status docker.service uit als een normale gebruiker. Je zou wat informatie moeten krijgen over welke PID-nummer Dockers daemon is toegewezen. Als u dat niet doet, moet u de service opnieuw starten.
Als je het opnieuw hebt opgestart, probeer dan te doen wat het ook was dat je hebt gegooid. Het kan geen verbinding maken met de Docker-daemon-fout. Als het nu werkt, hebt u de service gewoon niet uitgevoerd en hoeft u zich geen zorgen te maken over iets anders naast de reden waarom het niet actief was. Helaas werkt dit in de meeste gevallen niet, dus u moet doorgaan in die situaties.
Methode 2: Gebruikers toevoegen aan de koppelgroep
Voer koppelaarinfo uit vanaf de opdrachtregel, die u normaal gesproken de connectie met de Docker-daemonfout opnieuw zal geven.
PRO TIP: Als het probleem zich voordoet met uw computer of een laptop / notebook, kunt u proberen de Reimage Plus-software te gebruiken die de opslagplaatsen kan scannen en corrupte en ontbrekende bestanden kan vervangen. Dit werkt in de meeste gevallen, waar het probleem is ontstaan door een systeembeschadiging. U kunt Reimage Plus downloaden door hier te klikkenAls dit het geval is, moet u sudo groupadd docker uitvoeren; sudo usermod -aG docker $ USER om jezelf toe te voegen aan de juiste groep. Mocht dit een foutmelding geven omdat u geen gebruiksmogelijkheden heeft, dan kunt u de opdracht wijzigen om als sudo groupadd docker uit te voeren; sudo gpasswd -a $ USER docker, maar dit zou normaal geen probleem moeten zijn, omdat de meeste commerciële Linux-distributies werken met dezelfde set hulpmiddelen. Voer in elk geval newgrp docker uit, zodat u zich kunt aanmelden bij de nieuwe dockergroep als u dat nog niet bent.
Houd er rekening mee dat dit altijd de gebruiker is waar u momenteel bent aangemeld, wat niet al te veel hoeft te betekenen voor de systemen van de meeste mensen die geen meerdere accounts hebben naast de ene gebruiker en het root-account. Omdat u vooralsnog beheerderstoegang hebt ingeschakeld, voert u sudo chgrp docker / usr / bin docker uit; sudo chgrp docker /var/run/docker.sock om de machtigingen voor de docker socket en opdracht te herstellen. Gewoonlijk behoort het socketbestand alleen toe aan de root-gebruiker, dus dit zal dit corrigeren.
Na het te hebben uitgevoerd, zou u geen problemen moeten hebben omdat het nu tot dezelfde groep behoort die u in de vorige opdracht had gecreëerd. U wilt testen om ervoor te zorgen dat Docker zonder sudo werkt, dus typ docker als u normale gebruiker bent om ervoor te zorgen dat u geen andere fouten krijgt.
Op dit moment zullen maar weinig gebruikers een foutbericht ontvangen. De meeste dingen moeten op dit punt worden gecorrigeerd, maar als u nog steeds problemen ondervindt, wilt u wellicht volledig uitloggen. Probeer een ander terminalemulatorvenster te openen, maar als dit niet werkt, helpt het soms om het systeem te sluiten voor een volledige herstart, als dat al haalbaar is
Methode 3: ACL's gebruiken om docker-metadata te wijzigen
Als u niet tot een groep wilt behoren die u als een rootgebruiker maakt, kunt u het socketbestand alleen met bepaalde machtigingen laten werken. U kunt het gpasswd-proces negeren als u dit op deze manier wilt doen. Het bestandssysteem voor verschillende ACL-vermeldingen moet worden belast voor diegenen die een beveiligingsaudit uitvoeren, maar het voorkomt dat u de koppelingsgroep volledig hoeft te gebruiken.
Als u het op deze manier wilt doen, dan kunt u sudo setfacl -m user: name: rw /var/run/docker.sock uitvoeren, terwijl u de gebruiker en naam vervangt door de juiste labels. Hiermee wordt toestemming verleend voor toegang tot de Docker-socket op /var/run/docker.sock, die zou moeten werken met Debian en Ubuntu Server.
PRO TIP: Als het probleem zich voordoet met uw computer of een laptop / notebook, kunt u proberen de Reimage Plus-software te gebruiken die de opslagplaatsen kan scannen en corrupte en ontbrekende bestanden kan vervangen. Dit werkt in de meeste gevallen, waar het probleem is ontstaan door een systeembeschadiging. U kunt Reimage Plus downloaden door hier te klikken