Layer 8Ehrlicher Tech-Support
SoftwareSchweregrad: LästigCannot connect to the Docker daemon

Docker: Cannot connect to the Docker daemon

docker-Befehle scheitern mit 'Cannot connect to the Docker daemon'? Meist läuft der Dienst nicht oder Rechte fehlen. So läuft es wieder.

Aufwand:
ca. 10 Min.
Voraussetzung:
sudo-Rechte

Das Symptom

Du tippst ein simples docker ps oder docker run und statt Containern erscheint: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? Die Frage am Ende ist rhetorisch gemeint, wird aber gern trotzig mit „natürlich läuft der“ beantwortet.

Die „Layer 8“-Wahrheit

Docker besteht aus zwei Teilen: dem docker-Befehl (Client) und dem Daemon, der die eigentliche Arbeit macht. Der Client redet über einen Unix-Socket mit dem Daemon – und die Fehlermeldung sagt exakt, dass dieses Gespräch nicht zustandekommt. In der Praxis heißt das fast immer eins von zwei Dingen: Der Daemon läuft schlicht nicht (nach Neustart nie aktiviert, oder Docker Desktop gar nicht gestartet), oder er läuft, aber der eigene Benutzer darf nicht auf den Socket zugreifen, weil er nicht in der docker-Gruppe ist. Kein Bug – nur ein Dienst, der auf sein Startsignal wartet.

Die echte, verifizierte Lösung

1000 % faktenbasiert. Jeder Befehl ist real, jeder Pfad existiert. Schritt für Schritt:

  1. 1.

    Läuft der Docker-Daemon?

    Auf Linux Status prüfen und bei Bedarf starten bzw. dauerhaft aktivieren:

    sudo systemctl status docker
    sudo systemctl enable --now docker
    
  2. 2.

    Docker Desktop starten (Windows/macOS)

    Unter Windows und macOS läuft der Daemon in Docker Desktop. Das Programm muss geöffnet und der Wal im Statusbereich grün/ruhig sein, bevor docker-Befehle im Terminal funktionieren.

  3. 3.

    Rechte für den Docker-Socket setzen

    Kommt der Fehler nur ohne sudo, fehlt die Gruppenmitgliedschaft. Benutzer zur docker-Gruppe hinzufügen und neu anmelden:

    sudo usermod -aG docker $USER
    newgrp docker
    
  4. 4.

    Socket und Umgebungsvariable prüfen

    Kontrollieren, ob der Socket existiert und ob eine abweichende DOCKER_HOST-Variable den Client fehlleitet:

    ls -l /var/run/docker.sock
    echo "$DOCKER_HOST"
    
  5. 5.

    Docker-Kontext zurücksetzen

    Ein falsch gewählter Kontext (z. B. ein nicht laufender Remote-Host) verursacht denselben Fehler. Kontexte auflisten und auf den lokalen Standard wechseln:

    docker context ls
    docker context use default
    

Häufige Fragen (FAQ)

?Was bedeutet 'Cannot connect to the Docker daemon at unix:///var/run/docker.sock'?

Der Docker-Client findet keinen laufenden Docker-Daemon. Entweder ist der Dienst gestoppt (Linux: systemctl start docker), Docker Desktop wurde nicht gestartet (Windows/macOS), oder deinem Benutzer fehlen die Rechte auf den Socket.

?Wie kann ich Docker ohne sudo ausführen?

Den eigenen Benutzer zur Gruppe 'docker' hinzufügen: 'sudo usermod -aG docker $USER'. Danach ab- und wieder anmelden, damit die Gruppe geladen wird. Achtung: Mitglieder der docker-Gruppe haben faktisch Root-Rechte.

Belege

Diese Seite ist gegen die folgenden Primärquellen geprüft – Hersteller, Standard oder Gesetzestext. Wer es nicht glaubt, muss es nicht: Da steht, wo es nachzulesen ist.

Zuletzt geprüft am . Dokumentation altert – ein Datum daneben ist der einzige ehrliche Umgang damit.

Auch zu finden unter

Verwandte Fehler

SWLästigno space left on device

Docker: no space left on device beheben

Docker bricht mit 'no space left on device' ab, obwohl scheinbar Platz da ist? Alte Images, Container und Build-Cache fressen die Platte. So räumst du auf.

SWLästigpermission denied while trying to connect to the Docker daemon socket

Docker: permission denied am Docker-Socket

Docker läuft, aber ohne sudo kommt „permission denied“? Der Zugriff hängt an der Docker-Gruppe — und die hat sicherheitsrelevante Nebenwirkungen.

OSLästigUnit is masked

systemctl: Unit is masked

systemctl startet den Dienst nicht: 'Unit is masked'. Die Unit ist auf /dev/null verlinkt. So machst du sie mit unmask wieder startbar.

SWAnfängerfehlerPermission denied

bash: ./script.sh: Permission denied

Shell-Skript startet nicht mit 'Permission denied'? Meist fehlt nur das Ausführbar-Recht. So machst du es lauffähig – und findest seltenere Ursachen.