2 min read

Warum Portainer plötzlich „Down“ anzeigt: Das API-Problem mit Docker 29

Warum Portainer plötzlich „Down“ anzeigt: Das API-Problem mit Docker 29
Photo by Venti Views / Unsplash

In den letzten Tagen häufen sich Berichte über Verbindungsprobleme zwischen Portainer und Docker Engine 29 – auch bei mir auf dem eigenen Server. Der Fehler äußert sich meist so: Der Docker-Endpunkt in Portainer wird zunächst als „up“ angezeigt, aber sobald man darauf klickt, ist er wieder „down“. Ein klassischer Fall von API-Kompabilitätsproblemen. Bei mir trat es in der Linux-Variante auf, daher die Lösung hier für Linux.

Was steckt dahinter?

  • Mit Docker Engine Version 29 wurde die Mindest-API-Version deutlich angehoben.
  • Portainer (aktuell LTS / CE Versionen wie 2.33.x) erwartet hingegen noch eine niedrigere Mindest-API-Version.
  • Wenn Docker also eine höhere API-Version verlangt als Portainer „akzeptieren“ kann, kommt es zur Fehlermeldung „Failed loading environment“ oder „The environment named xxx is unreachable“.

Dieser Konflikt wurde bereits in mehreren GitHub-Issues gemeldet.
Die Portainer-Entwickler arbeiten wohl an einem Fix – bis dahin gibt es allerdings einen bewährten Workaround.

Der Workaround - So löst du (hoffentlich) das Problem

1. Öffne die Änderung für den Docker-Dienst mit:

sudo systemctl edit docker
  1. Füge hier nun diese Zeile hinzu (ziemlich oben)
[Service]
Environment="DOCKER_MIN_API_VERSION=1.24"

Damit sagst du Docker, dass es eine niedrigere API-Version nach außen bereitstellt, die Portainer noch versteht. Viele User und auch ich haben mit genau dieser Einstellung den Fehler behoben.

  1. Lade die Systemd-Konfiguration neu und starte Docker:
sudo systemctl daemon-reload
sudo systemctl restart docker
  1. Starte nun Portainer neu
docker restart portainer

Ob das bei dir nun mit sudo sein muss oder nicht oder ob du auch docker restart mit sudo machen musst, das hängt ganz von deiner Config auf deinem Server ab. Bei mir schaut es auf jeden Fall genau so aus.

Warum man nicht direkt Docker zurück­setzen oder Portainer neu installieren muss

  • Du verlierst keine Stacks oder Konfigurationen, wenn du Portainer nur neu startest.
  • Der Workaround ändert nur die API-Kompatibilität, nicht deinen gesamten Cluster.
  • Auf diese Weise bleibt dein Setup stabil, bis eine echte Portainer-Version veröffentlicht wird, die Docker 29 offiziell unterstützt.

Das ganze hat bei mir sehr gut funktioniert und ich kann wieder, wie gewohnt, in meiner Portainer-Umgebung arbeiten ohne dieses Up/Down Problem.
Ich hoffe bei dir funktioniert es auf die selbe Weiße. Sicher vorher alles soweit es geht in einem Backup weg, damit im Falle eines Fehlers, nicht alles deiner Arbeit verloren ist.
Denke daran, du machst alles auf eigene Verantwortung! - Hier kann dir niemand eine Garantie auf Erfolg geben - im schlimmsten Falle gehts komplett schief und du bist froh über dein Backup!

Viel Erfolg!