Portainer: Docker per Web-GUI verwalten
Wer Docker regelmäßig nutzt, kennt das Problem: Viele Container, viele docker compose-Verzeichnisse, viele Logs – und alles nur über die Kommandozeile erreichbar. Portainer löst das, indem es eine vollständige Web-Oberfläche für die Docker-Verwaltung bereitstellt.
Was ist Portainer?
Portainer ist ein Open-Source-Management-Tool für Container-Umgebungen. Es bietet eine grafische Oberfläche für:
- Docker (auf einem einzelnen Host)
- Docker Swarm (Multi-Node-Cluster)
- Kubernetes
Für den Homelab-Einsatz ist vor allem die Docker-Integration interessant.
Was kann Portainer?
Container verwalten
- Container starten, stoppen, neu starten, löschen
- Logs in Echtzeit anzeigen
- In Container-Shell einloggen (direkt im Browser)
- Ressourcenverbrauch (CPU, RAM) überwachen
Images & Volumes
- Docker Images herunterladen, löschen, inspizieren
- Volumes anlegen, inspizieren, löschen
- Netzwerke verwalten
Stacks (Docker Compose)
Portainer hat eine eigene Stack-Funktion: Docker Compose Dateien können direkt im Web-Interface eingefügt und deployed werden – ohne SSH und ohne Kommandozeile.
Benutzer & Zugriffsrechte
In der Business Edition lassen sich Benutzer und Teams mit unterschiedlichen Berechtigungen anlegen. Die Community Edition unterstützt mehrere Umgebungen mit einem Admin-Account.
Portainer CE vs. Business Edition
| Feature | Community (CE) | Business (BE) | |---------|---------------|---------------| | Preis | Kostenlos | Kostenpflichtig | | Container-Verwaltung | ✓ | ✓ | | Stacks (Compose) | ✓ | ✓ | | Mehrere Umgebungen | ✓ | ✓ | | RBAC (Rollen) | Begrenzt | Vollständig | | Git-Integration | ✗ | ✓ | | Support | Community | Offiziell |
Für den Homelab-Einsatz reicht die Community Edition vollkommen aus.
Installation mit Docker Compose
mkdir ~/portainer && cd ~/portainer
# docker-compose.yml
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
ports:
- "9443:9443"
- "8000:8000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
restart: unless-stopped
volumes:
portainer_data:
docker compose up -d
Das Web-Interface ist danach unter https://<IP>:9443 erreichbar.
Hinweis: Das Volume
/var/run/docker.sockgibt Portainer Zugriff auf den Docker-Daemon. Portainer bekommt damit vollständige Kontrolle über Docker – nur vertrauenswürdigen Personen Zugang geben.
Ersteinrichtung
Beim ersten Aufruf:
- Admin-Passwort festlegen (mindestens 12 Zeichen)
- Umgebung auswählen – bei lokaler Installation "Docker" wählen
- Fertig – das Dashboard öffnet sich
Weitere Docker-Hosts hinzufügen
Portainer kann auch entfernte Docker-Hosts verwalten. Dazu auf dem Remote-Host den Portainer Agent installieren:
# agent/docker-compose.yml
services:
portainer_agent:
image: portainer/agent:latest
container_name: portainer_agent
ports:
- "9001:9001"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/volumes:/var/lib/docker/volumes
restart: unless-stopped
Im Portainer-Interface unter Environments → Add Environment → Agent die IP und Port 9001 des Remote-Hosts eintragen.
Warum Portainer nutzen?
- Schnellerer Überblick – alle Container, Images und Volumes auf einen Blick
- Einfacherer Einstieg für Personen ohne Docker-Kenntnisse
- Logs und Shell direkt im Browser – kein SSH für einfache Aufgaben nötig
- Stacks deployen ohne Kommandozeile
- Mehrere Hosts zentral verwalten
Fazit
Portainer ist kein Ersatz für die Kommandozeile, aber eine sinnvolle Ergänzung. Besonders für Homelabs mit mehreren Containern und gelegentlichen Blicken auf Logs oder Ressourcen ist es deutlich komfortabler als reines CLI. Die Installation dauert zwei Minuten – es lohnt sich.