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.bakDer 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.jsonSuche 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.
Funktionsprüfung
Teste nun, ob Docker wieder regulär auf Registrys zugreifen und Images verarbeiten kann:
docker pull centos:7Erwartete Ausgabe:
7: Pulling from library/centos
Digest: sha256:...
Status: Downloaded newer image for centos:7Lä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
sudoaus, wird die UmgebungsvariablePATHaus 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
credsStorein~/.docker/config.jsonwie 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.jsonFazit
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

