Inhaltsverzeichnis
Portainer Housekeeping
Dieser Artikel beschreibt die regelmäßige Wartung und Fehleranalyse für Portainer.
Ziel: Tote Endpoints vermeiden, Logs im Griff behalten, Plattenplatz sichern und stabile Funktion sicherstellen.
1. Environments prĂĽfen
Portainer verwaltet Umgebungen („Environments“) → jede zeigt auf einen Docker-Socket oder eine Remote-API.
- MenĂĽ: Environments
- Prüfen, ob „Local“ vorhanden ist:
- Typ: Local
* Endpoint: `unix:///var/run/docker.sock`
* Tote Einträge (z. B. alte Hosts mit IP:2376) → löschen oder deaktivieren
- Tipp: sprechende Namen vergeben („docker-mash“, „cluster-node1“)
CLI-Check
<code bash> # Test: Local Docker-Socket erreichbar? curl –unix-socket /var/run/docker.sock http://localhost/_ping # OK → pong </code>
2. Docker-Socket korrekt mounten
In docker-compose.yml fĂĽr Portainer muss enthalten sein:
volumes: - /var/run/docker.sock:/var/run/docker.sock - portainer_data:/data
→ ohne diesen Mount funktioniert „Local environment“ nicht.
3. Snapshots und Polling
Portainer pingt die Environments regelmäßig (Container-Snapshot, Healthcheck).
- Menü: Settings → Snapshots
- Intervalle anpassen (z. B. 5–15 min statt 1 min)
* Snapshot fĂĽr inaktive/tote Environments deaktivieren
4. Logs im Blick
Vollgelaufene Container-Logs führen zu „Platte 100 %“ und Fehlermeldungen.
Container-Logs begrenzen
Im Compose jedes Dienstes:
logging:
driver: json-file
options:
max-size: "50m"
max-file: "5"
Offene gelöschte Dateien prüfen
lsof +L1 | head -n 20
→ zeigt Prozesse mit „gelöschten, aber noch offenen“ Dateien.
5. Disk Usage ĂĽberwachen
df -h /var/lib/docker /var/run df -i /var/lib/docker # Inodes docker system df docker system df -v
6. Typische Fehlerbilder
- „Failed to find local environment“
→ Local Socket nicht gemountet / falsche Rechte / Environment gelöscht
* „connect: connection refused 193.197.168.21:2376“
→ Remote Docker-API down oder Host nicht erreichbar
* „no route to host“
→ Firewall/VPN/Netzwerkproblem
* „cannot find webhook by containerId“
→ Container entfernt, DB-Eintrag verwaist → Stack neu deployen
7. Aufräumen & Pflege
Regelmäßig:
# unbenutzte Images, Container, Netzwerke, Volumes docker system prune -af --volumes
- Vorher prüfen: Achtung löscht auch gestoppte Container und nicht genutzte Volumes.
8. Absicherung
- Portainer selbst hinter Traefik/HTTPS betreiben
* Zugriff nur aus internen Netzen oder via VPN
* Admin-Account mit 2FA absichern
9. Backup
- Persistente Daten liegen in
portainer_data
* Backup reicht: Volume oder/opt/stacks/portainer/+ Daten sichern - Restore: neues Portainer-Container mit altem Volume starten
10. Checkliste „Fehlerfall“
- [ ] Ist die Platte voll? (
df -h)
- [ ] Sind alte Environments noch eingetragen?
- [ ] Ist der Docker-Socket gemountet?
- [ ] Funktioniertcurl --unix-socket ... _ping?
- [ ] Snapshot-Intervall zu klein?
- [ ] Offene gelöschte Logs (lsof +L1)?