Fix: Verbindung zum Docker-Daemon nicht möglich
Sie könnten sehr verwirrt sein, wenn ein Linux-Terminal eine Verbindung mit dem Docker-Daemon-Fehler bei Ihnen verursacht, weil der Docker-Dämon höchstwahrscheinlich bereits ausgeführt wird, wenn Sie das sehen. Während Sie sicherstellen möchten, dass es ist, werden Sie wahrscheinlich verwirrt sein, wenn Sie herausfinden, dass dieser Fehler nicht einmal damit zu tun hat, dass der Dienst nicht gestartet wird. Es wird meistens bei Benutzern ausgelöst, die sich nicht zur Docker-Gruppe hinzugefügt haben.
Docker gibt auf Linux-Systemen eine separate Benutzergruppe aus, und Benutzer mit nicht hinzugefügten Benutzerkonten können keine Verbindung zu ihm herstellen. Beachten Sie, dass das Hinzufügen eines Benutzerkontos zur Docker-Gruppe funktional gleichwertig ist, da der Daemon immer als Root-Benutzer ausgeführt wird. Dies könnte auf einem Ubuntu Server System für einen einzelnen Benutzer erwartet werden, aber es wird sicherlich etwas für diejenigen sein, die Docker auf Arch, Fedora oder Debian laufen lassen.
Methode 1: Docker Service Status überprüfen
Während es fast sicher ist, müssen Sie überprüfen, ob der Docker-Dienst gerade ausgeführt wird. Führen Sie in einem Terminalfenster systemctl status docker.service als normaler Benutzer aus. Sie sollten Informationen darüber erhalten, welche PID-Nummer der Docker-Daemon zugewiesen wurde. Wenn Sie dies nicht tun, müssen Sie den Dienst neu starten.
Sollten Sie es erneut gestartet haben, versuchen Sie, das zu tun, was Sie dazu gebracht hat, dass Sie keine Verbindung zum Docker-Daemon-Fehler herstellen können. Wenn es jetzt funktioniert, haben Sie den Dienst gerade nicht ausgeführt und brauchen sich um nichts anderes als den Grund, warum er nicht ausgeführt wurde, Sorgen zu machen. Leider funktioniert dies in den meisten Fällen nicht, daher müssen Sie in diesen Situationen weitermachen.
Methode 2: Hinzufügen von Benutzern zur Docker-Gruppe
Führen Sie docker info über die Befehlszeile aus, wodurch Sie normalerweise nicht mehr mit dem Docker-Daemon-Fehler verbinden können.
PRO TIPP: Wenn das Problem bei Ihrem Computer oder Laptop / Notebook auftritt, sollten Sie versuchen, die Reimage Plus Software zu verwenden, die die Repositories durchsuchen und beschädigte und fehlende Dateien ersetzen kann. Dies funktioniert in den meisten Fällen, in denen das Problem aufgrund einer Systembeschädigung auftritt. Sie können Reimage Plus herunterladen, indem Sie hier klickenWenn dies der Fall ist, müssen Sie sudo groupadd docker ausführen; sudo usermod -aG Docker $ USER, um sich der richtigen Gruppe hinzuzufügen. Sollte dies zu einem Fehler führen, weil Sie kein usermod verwenden, können Sie den Befehl so ändern, dass er als sudo groupadd docker ausgeführt wird. sudo gpasswd -a $ USER-Andockfenster, aber das sollte im Allgemeinen kein Problem sein, da die meisten kommerziellen Linux-Distributionen mit denselben Tools arbeiten. In jedem Fall führen Sie das Newgrp-Andockfenster aus, damit Sie sich in der neuen Andockgruppe anmelden können, falls Sie dies nicht bereits getan haben .
Denken Sie daran, dass immer der Benutzer hinzugefügt wird, bei dem Sie gerade angemeldet sind. Dies sollte auf den meisten Systemen der Benutzer, die nicht mehrere Konten haben, die über den einen Benutzer und das root-Konto hinausgehen, kein allzu großes Problem darstellen. Da Sie vorläufig administrativen Zugriff haben, führen Sie sudo chgrp docker / usr / bin docker aus; 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 Benutzer root, so dass dies korrigiert wird.
Nachdem Sie es ausgeführt haben, sollten Sie keine Probleme mehr haben, da es jetzt zu der gleichen Gruppe gehört, die Sie im vorherigen Befehl erstellt hatten. Sie sollten testen, ob docker auch ohne sudo ausgeführt wird. Geben Sie also docker run hallo-world als normalen Benutzer ein, um sicherzustellen, dass keine anderen Fehler auftreten.
Zu diesem Zeitpunkt werden sehr wenige Benutzer immer noch eine Fehlermeldung erhalten. Die meisten Dinge sollten zu diesem Zeitpunkt behoben werden, aber wenn Sie immer noch Probleme haben, sollten Sie sich komplett abmelden. Versuchen Sie, ein anderes Terminal-Emulatorfenster zu öffnen, aber wenn dies nicht funktioniert, hilft es manchmal, das System für einen vollständigen Neustart herunterzufahren, wenn das ü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 arbeitet. Sie können den gpasswd-Prozess ignorieren, wenn Sie dies lieber so machen möchten. Das Durchsuchen des Dateisystems nach verschiedenen ACL-Einträgen ist eine Belastung für diejenigen, die eine Sicherheitsüberprüfung durchführen, aber es verhindert, dass Sie die Docker-Gruppe vollständig verwenden müssen.
Wenn Sie es auf diese Weise tun möchten, können Sie sudo setfacl -m Benutzer: Name: rw /var/run/docker.sock ausführen, während Sie den Benutzer und den Namen durch die entsprechenden Bezeichnungen ersetzen. Dies gewährt die Erlaubnis, auf den Docker-Socket unter /var/run/docker.sock zuzugreifen, was mit Debian und Ubuntu Server funktionieren sollte.
PRO TIPP: Wenn das Problem bei Ihrem Computer oder Laptop / Notebook auftritt, sollten Sie versuchen, die Reimage Plus Software zu verwenden, die die Repositories durchsuchen und beschädigte und fehlende Dateien ersetzen kann. Dies funktioniert in den meisten Fällen, in denen das Problem aufgrund einer Systembeschädigung auftritt. Sie können Reimage Plus herunterladen, indem Sie hier klicken