Discord-Lösung

CasaOS konnte Apps nach dem Docker-29-Update nicht laden: So beheben Sie das Problem

A CasaOS feedback thread surfaced a GitHub issue where Docker updates on Ubuntu caused installed apps to disappear from the CasaOS Web UI.

Kurz gesagt: Wenn CasaOS nach einem Docker-Update plötzlich „Fehler beim Laden der Apps“ anzeigt, prüfen Sie die API-Version der Docker-Engine, bevor Sie CasaOS neu installieren. Docker 29.0 erhöhte die minimale API des Daemons auf v1.44, wodurch ältere CasaOS-App-Management-Clients ausfielen, die weiterhin eine ältere API anforderten. Docker 29.3 senkte das Minimum später wieder auf v1.40. Die richtige Lösung hängt daher vom tatsächlich verwendeten Docker-Build ab.

Prüfen Sie zuerst die Docker-Version

Führen Sie Folgendes aus:

Docker-Version

Sehen Sie sich die Serverversion und die Felder mit den API-Versionen an. Die Docker-API-Aushandlung ermöglicht es Clients und Daemons, sich auf eine gemeinsame API-Version zu einigen, jedoch nur innerhalb der Versionen, die der Daemon noch akzeptiert.

Diese Grenze änderte sich mit Docker 29. Docker 29.0 erhöhte die minimale Daemon-API auf v1.44. In Docker 29.3.0 wurde das Minimum auf v1.40 gesenkt. Die API-Untergrenze von Docker 29 hängt daher von der Version ab.

Docker-Version Minimale Engine-API Was das für CasaOS bedeutet
29.0.x–29.2.x v1.44 Ein älterer CasaOS-App-Management-Client kann als zu alt abgelehnt werden.
29.3.0+ v1.40 Die ursprüngliche Untergrenze von v1.44 ist nicht mehr dasselbe Hindernis. Prüfen Sie daher die Protokolle, bevor Sie eine alte Übergangslösung anwenden.

Bestätigen Sie, dass eine API-Inkompatibilität der tatsächliche Fehler ist

Gehen Sie nicht davon aus, dass jeder leere App-Store auf ein Kompatibilitätsproblem mit Docker 29 zurückzuführen ist. Prüfen Sie das Serviceprotokoll:

journalctl -u casaos-app-management --no-pager -n 100

Der entscheidende Fehler sieht folgendermaßen aus:

Client-Version 1.43 ist zu alt.
Minimal unterstützte API-Version ist 1.44

Diese Meldung ist ein starker Hinweis darauf, dass der UI-Fehler auf eine Inkompatibilität mit der Docker-API und nicht auf ein Problem mit dem App-Store-Katalog zurückzuführen ist. Mehrere CasaOS-Berichte reproduzierten dasselbe Symptom nach Docker-Upgrades, darunter der ursprüngliche Docker-Update-Fehler.

Warum CasaOS ausfallen kann, obwohl Docker selbst weiterhin funktioniert

CasaOS ersetzt die Docker Engine nicht. Der App-Management-Dienst kommuniziert über die Engine-API mit Docker. Docker-Container können weiterhin normal ausgeführt werden, während die CasaOS-Benutzeroberfläche die Möglichkeit verliert, sie abzufragen, zu erstellen oder zu verwalten.

Darum funktionieren Befehle wie:

docker ps
docker images

funktioniert möglicherweise weiterhin, selbst wenn CasaOS meldet, dass Apps nicht geladen werden können. Die Docker-CLI und die CasaOS-App-Verwaltung sind separate API-Clients und fordern nicht unbedingt dieselbe API-Version an.

Der umfassendere Zusammenhang zwischen CasaOS und Docker wird im CasaOS-Docker-Management erläutert, in dem CasaOS als visuelle Ebene über Docker-basierten Anwendungen eingesetzt wird.

Ältere Docker-29-Installationen mit einer API-Überschreibung reparieren

Bei Docker-29-Builds, die weiterhin API v1.44 erfordern, besteht eine getestete Umgehung darin, das vom Daemon akzeptierte Minimum über systemd herabzusetzen. Der gemeldete CasaOS-Kompatibilitätsfix verwendet:

sudo systemctl edit docker.service

Hinzufügen:

[Service]
Environment=DOCKER_MIN_API_VERSION=1.24

Dann Docker neu starten:

sudo systemctl daemon-reload
sudo systemctl restart docker

Überschreibung überprüfen:

systemctl show docker | grep DOCKER_MIN_API_VERSION

Dies ist eine Kompatibilitätsüberschreibung und kein Grund, den Server auf unbestimmte Zeit mit einem alten Anwendungs-Stack zu betreiben. Sie ermöglicht älteren API-Clients absichtlich, mit dem Daemon zu kommunizieren.

Prüfen, ob das aktuelle Installationsprogramm das Problem bereits behebt

Die CasaOS-Verantwortlichen berichteten später, dass das Installationsskript aktualisiert wurde, um eine aktuelle Docker Engine zu installieren und eine Docker-API-Kompatibilitätsüberschreibung für neuere Versionen anzuwenden. Dieses Update der Maintainer ist im Kompatibilitätsupdate des Installationsprogramms zu finden.

Wenn Ihre CasaOS-Installation älter als diese Änderung ist, kann eine erneute Ausführung des aktuellen offiziellen Installationsprogramms sauberer sein, als dauerhaft eine manuelle Überschreibung zu pflegen. Sichern Sie wichtige App-Daten und benutzerdefinierte Konfigurationen, bevor Sie einen bestehenden Server ändern.

Wann die alte Umgehung nicht verwendet werden sollte

Falls Docker-Version zeigt Docker 29.3 oder neuer und die minimale API ist bereits v1.40, erzwingen Sie sie nicht blind. DOCKER_MIN_API_VERSION=1.24. Prüfen Sie zunächst den CasaOS-App-Management-Log. Ein anderer Fehler erfordert eine andere Lösung.

Beispielsweise können DNS-Fehler, ein nicht funktionierender Registry-Zugriff, beschädigte App-Metadaten oder ein angehaltener CasaOS-Dienst dazu führen, dass ein App Store leer erscheint, ohne dass ein Problem mit der API-Version vorliegt.

CasaOS nach der Behebung überprüfen

Nachdem Docker neu gestartet wurde, prüfen Sie alle drei Ebenen:

  1. Docker: docker ps wird normal ausgeführt.
  2. CasaOS-Dienst: systemctl status casaos-app-management ist aktiv und protokolliert keine API-Abweichung mehr.
  3. Weboberfläche: Installierte Apps und der App Store werden wieder geladen.

Wenn Docker funktioniert, CasaOS App Management jedoch weiterhin fehlschlägt, starten Sie diesen Dienst nach Docker neu:

sudo systemctl restart casaos-app-management

Für Nutzer, die Anwendungs-Stacks vergleichen, zeigt die ZimaOS-App-Plattform das aktuelle Modell für Ein-Klick-Apps. Wenn Sie eine kompakte x86-Maschine zum Testen von Docker und CasaOS suchen, führt ZimaBoard 2 CasaOS offiziell als kompatibles Betriebssystem auf.

FAQ

Führt Docker 29 immer dazu, dass CasaOS nicht mehr funktioniert?

Nein. Docker 29.0 hat die minimale Engine-API auf v1.44 angehoben, aber Docker 29.3.0 hat sie auf v1.40 gesenkt. Prüfen Sie die genaue Docker-Version und den CasaOS-Log, bevor Sie eine Übergangslösung auswählen.

Warum laufen meine Container weiterhin?

Die Container werden von der Docker Engine verwaltet. CasaOS App Management ist ein separater Client. Seine API-Verbindung kann fehlschlagen, während der Daemon und vorhandene Container weiterlaufen.

Sollte ich Docker downgraden?

Nicht automatisch. Die API-Überschreibung war eine erfolgreiche Übergangslösung für betroffene Docker-29-Installationen, und spätere Docker-Versionen haben die minimale API-Version erneut geändert. Ein Downgrade ist nur eine Option, wenn die Kompatibilität nicht sauber wiederhergestellt werden kann.

Welcher Log belegt, dass dies dasselbe Problem ist?

Suchen Sie nach einer Fehlermeldung, dass die Docker-Client-API zu alt ist und der Daemon API v1.44 oder neuer erfordert. Ohne diesen Beleg sollten Sie weiter nach der Ursache suchen, statt automatisch von dem Docker-29-Problem auszugehen.