Wenn Sie die Fehlermeldung „Der Docker-Daemon kann keine Verbindung zu 'unix:///var/run/docker.sock' herstellen.Dies bedeutet in der Regel, dass Befehle wie `docker run` oder `docker ps` nicht funktionieren. Folglich können Sie nicht mit Docker-Containern interagieren. Dieser Fehler tritt auf, weil der Docker-Client keine Verbindung zum Docker-Daemon herstellen kann. Der Docker-Daemon ist das zugrundeliegende Programm, das alle Docker-Operationen auf Ihrem Computer ausführt.

Docker-Verbindungsfehler

Die häufigste Ursache für dieses Problem ist, dass der Docker-Dienst auf Ihrem System nicht ausgeführt wird. Weitere mögliche Ursachen sind fehlende Berechtigungen für den Zugriff auf den Docker-Socket, Probleme bei der Docker-Installation oder Fehler in der Datei `docker.sock` selbst.

Nachdem Sie nun eine Vorstellung von den möglichen Ursachen haben, kommen wir zu einigen praktischen Lösungsansätzen.

1. Starten Sie den Docker-Dienst mit systemctl.

Als Erstes sollte geprüft werden, ob Docker ausgeführt wird. Mit dem Tool `systemctl` lassen sich Systemdienste starten und verwalten. Ist Docker nicht aktiv, kann der Docker-Client nicht mit dem Hauptprozess kommunizieren, was zu diesem Fehler führt. Der Befehl `systemctl start docker` startet den Docker-Dienst und sollte das Problem beheben, falls dieser lediglich inaktiv ist.

  1. Öffne das Terminal Führen Sie zunächst den folgenden Befehl aus: Einblenden Docker:
    sudo systemctl unmask docker

    Wenn Sie versuchen, Docker zu starten, während es maskiert ist, erhalten Sie die Fehlermeldung „Failed to start docker.service: Unit is masked“. Maskierung ist eine effektivere Methode, einen Dienst zu stoppen – sie verhindert dessen Start vollständig. Um den Status aller Unit-Dateien auf Ihrem System anzuzeigen, verwenden Sie [Methoden-/Toolname]. systemctl list-unit-files.

  2. Sobald Docker wird Unversteckt, Du darfst Docker-Daemon starten Mit diesem Befehl wird der Docker-Daemon als Backend-Dienst aktiviert, der Images und Container verwaltet und Docker-API-Anfragen bearbeitet.
    sudo systemctl starte Docker

    Docker-Dienst starten

  3. ل Prüfen Sie, ob Docker funktioniert.Geben Sie diesen Befehl ein. Er zeigt den aktuellen Status Ihres Docker-Dienstes an:
    sudo systemctl status docker

    Docker-Dienststatus

  4. Wie Sie im obigen Bild sehen können, sollten Sie nun Folgendes erkennen: Docker ist aktiv und funktioniert..

2. Beheben Sie den Fehler „Docker pull failed“ und starten Sie den Docker-Dienst neu.

Wenn ein Docker-Pull fehlschlägt, können unvollständige Dateien zurückbleiben, die den korrekten Start des Docker-Daemons verhindern. Durch das Entfernen dieser Überreste wird Docker neu gestartet. Ein anschließender Neustart des Docker-Dienstes behebt eventuelle Probleme, die durch beschädigte oder fehlerhafte Dateien verursacht wurden.

  1. Öffnen Peripher Geben Sie diese Befehle ein:
    sudo systemctl unmask docker.service sudo systemctl unmask docker.socket sudo systemctl start docker.service

Docker-Dienst starten

Wenn der Fehler nach Ausführung dieser Befehle weiterhin besteht, sollten Sie löschen Die restlichen Dateien im Verzeichnis ContainerdStarten Sie Docker anschließend erneut. Containerd, das seit Version 1.11 Bestandteil von Docker ist, hilft bei der direkten Verwaltung von Docker-Containern im Hintergrund.

  • Bleiben Sie im Terminal und führen Sie diese Befehle aus – beachten Sie, dass Sie Folgendes benötigen: Das Root-Benutzerpasswort:
    sudo su service docker stop cd /var/run/docker/libcontainerd rm -rf containerd/* rm -f docker-containerd.pid service docker start

Neustart des Docker-Dienstes

3. Starten Sie den Dockerd-Dienst (Docker-Daemon) direkt.

Dockerd ist das Hauptprogramm (im Hintergrund), das alle Docker-Aufgaben übernimmt. In manchen Fällen kann es hilfreich sein, Dockerd direkt zu starten, insbesondere wenn der Befehl `systemctl` auf Ihrem System nicht funktioniert.

  1. Öffnen Terminal Verwenden Sie diesen Befehl, um den Docker-Daemon direkt zu starten:
    sudo dockerd

Dockerd starten

4. Starten Sie Docker mit dem Befehl „Service“.

Durch manuelles Starten von Docker kann sichergestellt werden, dass der Dienst ausgeführt wird. Verwenden Sie dazu den Befehl `sudo service docker start`. Dies ist hilfreich, wenn Docker nach einem Systemneustart nicht automatisch startet.

  1. Öffnen Sie Ihr Terminal und führen Sie folgenden Befehl aus:
    sudo service --status-all sudo service docker start

Docker-Dienst starten

5. Starten eines Docker-Dienstes mit Snap

Wenn Sie Docker mit Snap installiert haben, müssen Sie sicherstellen, dass der von Snap verwaltete Docker-Dienst funktioniert. Snap erfordert mitunter, dass Sie Dienste manuell starten oder verbinden. Verwenden Sie `sudo snap start docker`, um zu überprüfen, ob der Docker-Daemon wie erwartet funktioniert.

  1. Öffnen Sie das Terminal und führen Sie diesen Befehl aus. Docker starten:
    sudo snap start docker

    Docker starten

  2. Um zu überprüfen, ob Docker mit Snap korrekt gestartet wurde, verwenden Sie:
    sudo snap services
  3. Dies führt zu Liste aller aktuell aktiven Snap-Dienste auf:
    Snap-Dienste
  4. Falls Docker noch nicht gestartet wurde, versuchen Sie Folgendes: Verbindung des docker:home-PluginsDie Verbindung wird nicht immer automatisch hergestellt. Starten Sie Docker anschließend neu.
  5. Öffnen Sie das Terminal und führen Sie Folgendes aus:
    sudo snap connect docker:home :home sudo snap start docker

    Docker starten

6. Docker für Benutzer ohne Root-Rechte starten

Dieser Fehler kann auch auftreten, wenn Sie nicht über ausreichende Berechtigungen für den Zugriff auf „unix:///var/run/docker.sock“ verfügen. Sie können dies vorübergehend umgehen, indem Sie die Docker-Hostvariable so konfigurieren, dass die lokale Netzwerkschnittstelle über Port 2375 verwendet wird.

  1. Terminal öffnen und folgenden Befehl ausführen:
    export DOCKER_HOST=tcp://localhost:2375

    Docker-Host-Export

7. Docker neu installieren

Manchmal können Probleme bei der Docker-Installation – wie beschädigte Dateien oder falsche Einstellungen – die korrekte Ausführung des Docker-Daemons verhindern. Durch die Neuinstallation von Docker wird der Standardzustand wiederhergestellt und Probleme, die durch fehlerhafte oder widersprüchliche Einstellungen verursacht wurden, können behoben werden.

  1. Nach der Neuinstallation von Docker überprüfen Sie mit folgendem Befehl, ob der Dienst ausgeführt wird:
    Sudo-Service-Docker-Start

    Dadurch wird Docker gestartet und Probleme, die auftreten, wenn das Programm nicht aktiv ist, werden häufig behoben, insbesondere nach einem Neustart des Computers oder wenn Docker nicht automatisch startet.

  2. Da der Docker-Daemon alle Container und Images steuert, stellt die Sicherstellung seines Betriebs die Verbindung zwischen dem Docker-Client und dem Daemon wieder her, wodurch Fehler behoben werden können, die durch Serviceausfälle oder Inaktivität verursacht wurden.