Intern:Hauptseite/Portainer.iO
Portainer.io: Das Grafische Docker & Podman Cockpit
Portainer ist die führende Open-Source-Management-Oberfläche für Container-Umgebungen. Es ermöglicht die Verwaltung von Containern, Images, Volumes und Netzwerken, ohne dass komplexe CLI-Befehle auswendig gelernt werden müssen.
Warum Portainer in unserer Infrastruktur?
- Sichtbarkeit: Ein Klick genügt, um zu sehen, welche Container laufen, welche gestoppt sind und welche Ressourcen (CPU/RAM) sie fressen.
- Multi-Engine Support: Portainer verwaltet auf unserer Kubuntu-Maschine sowohl Docker als auch Podman (via API-Socket).
- Stack-Management: Es nutzt intern Docker Compose, um zusammengehörige Dienste (z. B. App + Datenbank) als eine Einheit zu verwalten.
- Sicherheit: Erlaubt den Zugriff auf Container-Logs und Konsolen direkt im Browser, ohne dass SSH-Zugriff auf den Host-Server nötig ist.
Installation & Schnellstart
Auf unserem Kubuntu 26.04 System wird Portainer als eigener Docker-Container betrieben, um maximale Isolation zu gewährleisten.
Deployment via CLI
# 1. Daten-Volume für Persistenz erstellen
docker volume create portainer_data
# 2. Portainer Container starten
docker run -d -p 8000:8000 -p 9443:9443 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest
Zugriff
- URL:
https://localhost:9443 - Hinweis: Da Portainer ein selbstsigniertes SSL-Zertifikat nutzt, erscheint eine Browser-Warnung. Diese kann unter "Erweitert -> Risiko akzeptieren" ignoriert werden.
Essential Tricks für Profis
1. Podman Integration
Um Podman-Container in Portainer zu sehen, muss der Podman-Socket aktiviert sein:
- Befehl auf dem Host:
sudo systemctl enable --now podman.socket - In Portainer: Environments > Add Environment > Docker Standalone > API
- Pfad angeben:
unix:///run/podman/podman.sock
2. Container-Konsole (Web-Shell)
Man muss nicht `docker exec -it` nutzen. In der Portainer-Liste einfach auf das >_ Icon klicken. Damit landet man sofort in der Shell des Containers – ideal für schnelle Fixes an Node.js Apps.
3. Automatische Updates mit "Webhooks"
Portainer kann so konfiguriert werden, dass ein Container automatisch neu startet und das neueste Image zieht, sobald eine neue Version auf Docker Hub oder in unserer Registry landet (via HTTP POST Request).
Troubleshooting
- "Client sent an HTTP request to an HTTPS server": Dieser Fehler tritt auf, wenn man
http://statthttps://auf Port 9443 nutzt. Immerhttps://erzwingen! - Passwort vergessen: Falls das Admin-Passwort verloren geht, muss ein spezieller "Password Reset Helper" Container gestartet werden (siehe offizielle Docs).
