Docker unter WSL2: docker-credential-desktop.exe not found beheben

Docker unter WSL2: docker-credential-desktop.exe not found beheben

Beim Bauen von Containern oder Herunterladen von Images unter WSL2 (dem Windows-Subsystem für Linux, das eine vollwertige Linux-Umgebung bereitstellt) bricht Docker mitunter ab. Dieser Leitfaden zeigt dir, wie du den Fehler mit der fehlenden Datei docker-credential-desktop.exe in wenigen Minuten dauerhaft beseitigst. Die Anleitung richtet sich an Entwickler und Einsteiger, die Docker innerhalb einer Linux-Distribution auf Windows betreiben.

Voraussetzungen

  • Ein eingerichtetes WSL2 mit einer Linux-Distribution wie Ubuntu oder Debian unter Windows 10.
  • Installiertes Docker Desktop für Windows mit aktivierter WSL2-Anbindung.
  • Ein Terminal mit gewöhnlichen Benutzerrechten.
  • Zeitaufwand: etwa 5 Minuten.

Schritt 1: Konfigurationsdatei sichern

Bevor du Änderungen an Konfigurationsdateien vornimmst, legst du eine Sicherheitskopie an, um den Originalzustand jederzeit wiederherstellen zu können.

cp ~/.docker/config.json ~/.docker/config.json.bak

Der Befehl läuft ohne Rückmeldung durch. Wenn kein Fehler erscheint, existiert die Sicherungsdatei config.json.bak in deinem Verzeichnis.

Schritt 2: Datei config.json bearbeiten

Docker Desktop trägt in deiner Linux-Umgebung ein Hilfsprogramm zur Speicherung von Zugangsdaten ein, das WSL2 im Systempfad oft nicht findet. Öffne die Konfigurationsdatei mit einem Texteditor im Terminal:

nano ~/.docker/config.json

Suche in der Datei nach der Zeile mit dem Schlüssel credsStore. Der Eintrag sieht meist so aus:

{
  "credsStore": "desktop"
}

Ändere den Namen des Schlüssels von credsStore zu credStore um oder entferne die Zeile vollständig:

{
  "credStore": "desktop"
}

Speichere die Datei in nano mit Strg + O, bestätige mit der Eingabetaste und verlasse den Editor mit Strg + X. Die Änderung greift sofort, da Docker dadurch die fehlschlagende Abfrage des Windows-Programms in WSL2 deaktiviert.

Alternative Lösung: Computer neu starten

Die Bearbeitung der Datei config.json wirkt unmittelbar ohne Neustart. Wenn du die Konfigurationsdatei nicht manuell anpassen möchtest, stellt ein Neustart des Computers eine alternative Lösungsoption dar, um das Problem in manchen Fällen direkt zu beheben.

Siehe auch  RustDesk unter Linux installieren: Schnelle Anleitung über die Kommandozeile

Funktionsprüfung

Teste nun, ob Docker wieder regulär auf Registrys zugreifen und Images verarbeiten kann:

docker pull centos:7

Erwartete Ausgabe:

7: Pulling from library/centos
Digest: sha256:...
Status: Downloaded newer image for centos:7

Lädt Docker das Image ohne Fehlermeldung herunter, ist das Problem behoben.

Wenn etwas schiefgeht

  • Fehler tritt weiterhin auf bei Befehlen mit sudo: Führst du Docker mit sudo aus, wird die Umgebungsvariable PATH aus Sicherheitsgründen zurückgesetzt. Verwende stattdessen:
    sudo -E PATH="$PATH" docker pull centos:7
  • docker-credential-desktop.exe: Invalid argument: Die Windows-Binärdatei kann innerhalb der WSL-Umgebung nicht ordnungsgemäß gestartet werden. Prüfe erneut, ob credsStore in ~/.docker/config.json wie in Schritt 2 umbenannt wurde.
  • Symbolischer Link fehlt: Falls die Anpassung der Datei nicht greift, erstelle eine Verknüpfung direkt zum Installationspfad:
    sudo ln -s "/mnt/c/Program Files/Docker/Docker/resources/bin/docker-credential-desktop.exe" /usr/bin/docker-credential-desktop.exe

Rückgängig machen

Möchtest du den Ursprungszustand wiederherstellen, kopierst du einfach die angelegte Sicherung zurück:

cp ~/.docker/config.json.bak ~/.docker/config.json

Fazit

Die Fehlermeldung entsteht durch eine Fehlkommunikation zwischen WSL2 und dem Windows-Hilfsprogramm zur Zugangsverwaltung. Nach der kleinen Textanpassung läuft Docker in deiner Linux-Konsole wieder ohne Unterbrechungen. Als nächsten Schritt kannst du deine eigenen Dockerfiles fehlerfrei bauen.

Quellen: Forum: Docker – Forum, forums.docker.com, collabnix.com, zeryther.com

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen