Fix: Es kann keine Verbindung zum Docker-Daemon hergestellt werden

Sie sind möglicherweise sehr verwirrt, wenn ein Linux-Terminal den Fehler “Verbindung zum Docker-Dämon kann nicht hergestellt werden” auslöst, da der Docker-Dämon höchstwahrscheinlich bereits ausgeführt wird, wenn Sie dies sehen. Während Sie sicherstellen möchten, dass dies der Fall ist, werden Sie wahrscheinlich verwirrt sein, wenn Sie feststellen, dass dieser Fehler nicht einmal damit zusammenhängt, dass der Dienst nicht gestartet wird. Es wird meistens auf Benutzer geworfen, die sich nicht zur Docker-Gruppe hinzugefügt haben.

Docker gibt auf Linux-Systemen eine separate Benutzergruppe aus, und Benutzer mit Benutzerkonten, die nicht hinzugefügt wurden, können keine Verbindung herstellen. Beachten Sie, dass das Hinzufügen eines Benutzerkontos zur Docker-Gruppe funktional dem Root entspricht, da der Dämon immer als Root-Benutzer ausgeführt wird. Dies kann auf einem Ubuntu Server-System für Einzelbenutzer erwartet werden, ist jedoch für diejenigen, die Docker auf Arch, Fedora oder Debian ausführen, sicherlich zu beachten.

Methode 1: Überprüfen des Docker-Dienststatus

Obwohl dies mit ziemlicher Sicherheit der Fall ist, müssen Sie überprüfen, ob der Docker-Dienst derzeit ausgeführt wird. Führen Sie an einem Terminalfenster aus systemctl status docker.service als normaler Benutzer. Sie sollten einige Informationen darüber erhalten, welche PID-Nummer Dockers Daemon zugewiesen wurde. Wenn Sie dies nicht tun, müssen Sie den Dienst neu starten.

Wenn Sie es neu gestartet haben, versuchen Sie, den Fehler “Verbindung zum Docker-Dämon kann nicht hergestellt werden” auszuführen. Wenn es jetzt funktioniert, haben Sie den Dienst einfach nicht ausgeführt und müssen sich nur um den Grund kümmern, warum er nicht ausgeführt wurde. Leider funktioniert dies in den meisten Fällen nicht, sodass Sie in diesen Situationen weitermachen müssen.

Methode 2: Hinzufügen von Benutzern zur Docker-Gruppe

Lauf Docker-Info Über die Befehlszeile wird normalerweise der Fehler “Verbindung zum Docker-Dämon kann nicht hergestellt werden” erneut angezeigt.

Wenn dies der Fall ist, müssen Sie ausführen sudo groupadd docker; sudo usermod -aG docker $ USER um sich der richtigen Gruppe hinzuzufügen. Sollte dies zu einem Fehler führen, weil Sie kein Usermod haben, können Sie den Befehl so ändern, dass er ausgeführt wird sudo groupadd docker; sudo gpasswd -a $ USER DockerDies sollte jedoch im Allgemeinen kein Problem sein, da die meisten kommerziellen Linux-Distributionen mit denselben Tools arbeiten. Führen Sie auf jeden Fall aus Newgrp Docker Sie können sich also bei der neuen Docker-Gruppe anmelden, wenn Sie dies noch nicht getan haben.

Beachten Sie, dass dadurch immer der Benutzer hinzugefügt wird, als den Sie gerade angemeldet sind. Dies sollte auf den Systemen der meisten Benutzer, die nicht über mehrere Konten außerhalb des einen Benutzers und des Stammkontos verfügen, kein allzu großes Problem darstellen. Führen Sie aus, da Sie vorerst über einen Administratorzugriff verfügen sudo chgrp docker / usr / bin docker; sudo chgrp docker /var/run/docker.sock um die Berechtigungen für den Docker-Socket und den Befehl zu korrigieren. Normalerweise gehört die Socket-Datei nur dem Root-Benutzer, sodass dies korrigiert wird.

Nachdem Sie es ausgeführt haben, sollten Sie keine Probleme haben, da es jetzt zu derselben Gruppe gehört, die Sie im vorherigen Befehl erstellt haben. Sie sollten testen, um sicherzustellen, dass Docker ohne sudo ausgeführt wird. Geben Sie also ein Docker laufen Hallo-Welt als normaler Benutzer, um sicherzustellen, dass Sie keine anderen Fehler erhalten.

Zu diesem Zeitpunkt erhalten nur noch sehr wenige Benutzer eine Fehlermeldung. Die meisten Dinge sollten zu diesem Zeitpunkt korrigiert werden. Wenn Sie jedoch weiterhin Probleme haben, möchten Sie sich möglicherweise vollständig abmelden. Versuchen Sie, ein anderes Terminalemulatorfenster zu öffnen. Wenn dies jedoch nicht funktioniert, kann es manchmal hilfreich sein, das System für einen vollständigen Neustart herunterzufahren, wenn dies überhaupt möglich ist

Methode 3: Verwenden von ACLs zum Ändern von Docker-Metadaten

Wenn Sie nicht zu einer Gruppe gehören möchten, die Sie zu einem Root-Benutzer macht, können Sie festlegen, dass die Socket-Datei nur mit bestimmten Berechtigungen funktioniert. Sie können den gpasswd-Prozess ignorieren, wenn Sie dies lieber auf diese Weise tun möchten. Das Dateisystem muss nach verschiedenen ACL-Einträgen durchsucht werden, was für diejenigen, die eine Sicherheitsüberprüfung durchführen, eine Belastung darstellt. Sie müssen jedoch die Docker-Gruppe nicht vollständig verwenden.

Wenn Sie es so machen möchten, können Sie laufen sudo setfacl -m Benutzer: Name: rw /var/run/docker.sock während Benutzer und Name durch die entsprechenden Bezeichnungen ersetzt werden. Dies gewährt die Berechtigung zum Zugriff auf den Docker-Socket unter /var/run/docker.sock, der mit Debian und Ubuntu Server funktionieren sollte.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *