
Ich versuche, Docker Desktop auf meinem Ubuntu 22.04 auszuführen, aber wenn ich einen beliebigen Docker-Befehl im Terminal ausführe, wird der folgende Fehler angezeigt:
exec: "com.docker.cli": executable file not found in $PATH
Current PATH : /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/
Mir ist aufgefallen, dass meine Datei com.docker.cli im Ordner usr/local/bin rot gefärbt ist. Siehe mein Bild:
Mir ist auch aufgefallen, dass in /usr/bin kein Docker-Verzeichnis vorhanden ist
Antwort1
Der Befehl
ls -ld /usr/local/bin/com.docker.cli
wird wahrscheinlich zeigen, dass die Datei /usr/local/bin/com.docker.cli
ein ungültiger symbolischer Link ist. Das bedeutet, dass die ausführbare Datei, auf die sie verweist, nicht mehr existiert. Sie wurde möglicherweise verschoben oder gelöscht.
Wenn die ausführbare Datei einfach verschoben wurde, können Sie dies reparieren, indem Sie den symbolischen Link löschen /usr/local/bin/com.docker.cli
und neu erstellen, sodass er auf die richtige ausführbare Datei verweist, wie in
ln -s `/<true/path/to/executable>` /usr/local/bin/com.docker.cli
Andernfalls ist Ihre Docker-Installation möglicherweise schwerwiegender beschädigt und Sie müssen die Anwendung dann möglicherweise neu installieren.
Antwort2
ich habe den folgenden Befehl verwendet, nachdem ich denselben Fehler erhalten habe.
sudo apt --fix-broken install
funktioniert jetzt einwandfrei
Dieser Befehl wird normalerweise verwendet, um alle defekten Pakete zu reparieren oder aus dem offiziellen Repo neu zu installieren
Antwort3
Unter Debian hatte ich nach einer manuellen Binärinstallation genau denselben Fehler.
Auch wenn sich meine Binärdatei darin befand, /usr/bin
was bereits im Pfad enthalten war, funktionierte sie trotzdem nicht. Das Ausführen /usr/bin/docker
funktionierte jedoch.
Es stellte sich heraus, dass ich die Binärdatei sowohl in als auch /usr/bin/docker
hatte /usr/local/bin/docker
.
Ich musste stattdessen einen symbolischen Link zwischen diesen beiden Pfaden haben, statt zwei unabhängigen Binärdateien.
Also habe ich die /usr/local/bin/docker
Datei entfernt und stattdessen einen Symlink von der/usr/bin/docker
ln -s /usr/bin/docker /usr/local/bin/docker