Docker & Portainer
Docker & Portainer
Container-Management mit grafischer Oberfläche – Portainer macht Docker einfach. Verwalten Sie Container, Images, Volumes und Networks über eine intuitive Web-GUI statt über die Kommandozeile.
Inhaltsverzeichnis
Schnellübersicht
Auf dieser Seite lernen Sie alles über Docker & Portainer:
- Was ist Portainer? Definition und Vorteile
- Installation: Portainer CE mit Docker-Compose
- Features: GUI, Templates, Stacks, User-Management
- Editionen: Community Edition vs. Business Edition
- Use Cases: Wann ist Portainer sinnvoll?
- Best Practices: Sicherheit, Backup, Monitoring
- FAQ: Häufige Fragen und Antworten
1. Was ist Portainer?
Definition
Portainer ist eine leichtgewichtige, webbasierte Management-Oberfläche für Docker, Docker Swarm, Kubernetes und Azure ACI. Es ermöglicht die Verwaltung von Containern, Images, Volumes, Networks und mehr über eine intuitive grafische Oberfläche – ohne Kommandozeile.
Im Enterprise-Umfeld ist Portainer besonders wertvoll für: Teams mit unterschiedlichen Docker-Kenntnissen, schnelle Bereitstellung von Anwendungen über Templates, zentrale Verwaltung mehrerer Docker-Hosts und einfache Dokumentation von Container-Konfigurationen.
Die drei Hauptvorteile von Portainer: Visuelle Verwaltung (keine CLI-Kenntnisse nötig), Zeitersparnis (schnelle Deployment über Templates) und Zugriffskontrolle (Multi-User mit Rollen).
Portainer vs. Docker CLI
Die Docker CLI ist mächtig und flexibel, erfordert aber Kommandozeilen-Kenntnisse. Portainer bietet eine visuelle Alternative, die besonders für Einsteiger, Dokumentation und Team-Zusammenarbeit vorteilhaft ist. In der Praxis nutzen viele Teams beides: Portainer für die tägliche Verwaltung und die CLI für automatisierte Skripte.
2. Die wichtigsten Features
Portainer bietet eine Vielzahl von Funktionen, die die Docker-Verwaltung deutlich vereinfachen.
Web-GUI
Intuitive grafische Oberfläche für alle Docker-Operationen – im Browser, ohne Installation.
- Container starten/stoppen/neustarten
- Images pullen und verwalten
- Volumes und Networks erstellen
- Live-Logs ansehen
App Templates
Vorgefertigte Templates für beliebte Anwendungen – Deployment mit einem Klick.
- WordPress, Nextcloud, GitLab
- Datenbanken (MySQL, PostgreSQL)
- Monitoring (Grafana, Prometheus)
- Custom Templates erstellen
Stacks (Docker Compose)
Docker Compose Dateien direkt in der GUI deployen und verwalten.
- YAML-Editor mit Syntax-Highlighting
- Stack-Updates ohne Downtime
- Umgebungsvariablen verwalten
- Git-Integration (Business Edition)
User-Management
Multi-User-System mit Rollen und Berechtigungen für Team-Umgebungen.
- Benutzer und Teams anlegen
- Rollen (Admin, User, Read-Only)
- Zugriff auf spezifische Ressourcen
- LDAP/AD-Integration (Business)
Monitoring & Logs
Echtzeit-Überwachung von Container-Ressourcen und Logs.
- CPU, RAM, Netzwerk-Statistiken
- Live-Logs mit Filter
- Container-Events
- Resource Limits setzen
Multi-Environment
Verwaltung mehrerer Docker-Hosts und Umgebungen von einer zentralen Oberfläche.
- Docker Standalone, Swarm, Kubernetes
- Edge-Agent für remote Hosts
- Umgebungs-Tags und -Gruppen
- Zentrale Konfiguration
2. Installation
Portainer wird selbst als Docker-Container installiert. Drei Schritte reichen aus:
Portainer CE in 3 Schritten
Volume erstellen
Persistenter Speicher für Portainer-Daten (Datenbank, Einstellungen):
docker volume create portainer_data
Portainer Container starten
Container mit Volume-Mount und Docker-Socket-Bindung:
docker run -d \ --name portainer \ --restart=always \ -p 8000:8000 \ -p 9443:9443 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v portainer_data:/data \ portainer/portainer-ce:latest
Web-UI aufrufen
Browser öffnen und Admin-Passwort festlegen:
https://localhost:9443
Beim ersten Start wirst du aufgefordert, ein Admin-Passwort (mind. 12 Zeichen) zu setzen.
Sicherheitshinweise
- Docker-Socket: Portainer hat durch die Socket-Bindung vollen Zugriff auf Docker. Schütze den Zugang!
- HTTPS: Portainer nutzt standardmäßig HTTPS (Port 9443) mit selbstsigniertem Zertifikat
- Reverse Proxy: In Production einen Reverse Proxy (Nginx, Traefik) mit echtem TLS-Zertifikat vorschalten
- Authentifizierung: Starke Passwörter verwenden, optional LDAP/OAuth anbinden (BE)
3. Was sind Docker Stacks?
Ein Stack ist eine Gruppe von Containern, die zusammen eine Anwendung bilden. Definiert wird ein Stack über eine docker-compose.yml-Datei.
Stack vs. einzelner Container
- Einzelner Container:
docker run nginx– ein isolierter Dienst - Stack: Mehrere Container (Web + DB + Cache) als Einheit deployen, updaten und entfernen
- Vorteil: Reproduzierbar, versionierbar, teamfähig
Warum Ressourcen-Limits?
- CPU-Limits: Verhindern, dass ein Container die gesamte CPU belegt
- RAM-Limits: Schützen vor Memory-Leaks und OOM-Kills
- Reservierungen: Garantierte Mindestressourcen für kritische Services
- Stabilität: Ein Service kann andere nicht "hungern" lassen
- Multi-Tenancy: Fair Sharing auf Shared Hosts
4. Interaktiver Stack Builder
Docker Compose Stack Builder
Erstelle professionelle Docker-Compose-Stacks mit CPU/RAM-Limits, Healthchecks, Volumes, Environment-Variablen und allen wichtigen Einstellungen. Füge mehrere Services hinzu und lade den fertigen YAML-Code herunter.
Schnellstart: Template laden
Services
Generiertes YAML
# Klicke auf ein Template oder füge einen Service hinzu
4. Community Edition vs. Business Edition
Portainer gibt es in zwei Editionen mit unterschiedlichem Funktionsumfang.
Community Edition (CE)
- Vollständige Docker-Verwaltung
- Web-GUI für alle Operationen
- App Templates
- Docker Compose Stacks
- Basis User-Management
- Community Support
Business Edition (BE)
- Alle CE-Features
- LDAP/AD-Integration
- Git-Integration für Stacks
- Erweiterte RBAC (Rollen)
- Registry Management
- Priority Support
| Feature | Community Edition | Business Edition |
|---|---|---|
| Docker-Verwaltung | ||
| Web-GUI | ||
| App Templates | ||
| Docker Compose Stacks | ||
| Basis User-Management | ||
| LDAP/AD-Integration | ||
| Git-Integration | ||
| Erweiterte RBAC | ||
| Registry Management | ||
| Priority Support |
5. Use Cases – Wann ist Portainer sinnvoll?
Portainer ist besonders in folgenden Szenarien wertvoll:
Entwicklungsteams
Entwickler ohne tiefe Docker-Kenntnisse können Container schnell starten und verwalten. Ideal für lokale Entwicklungsumgebungen.
Empfohlen für: Dev-TeamsProduktionsumgebungen
Zentrale Verwaltung mehrerer Docker-Hosts, schnelle Updates über Stacks und einfaches Rollback bei Problemen.
Empfohlen für: Ops-TeamsSchulung & Training
Visuelle Darstellung von Container-Strukturen hilft beim Lernen. Teilnehmer können Docker-Konzepte leichter verstehen.
Empfohlen für: TrainerHome-Lab & Self-Hosting
Einfache Verwaltung von Nextcloud, Pi-hole, Home Assistant und anderen Self-Hosted-Diensten ohne CLI-Kenntnisse.
Empfohlen für: Hobby-AdminsPortainer in der Praxis
Viele Unternehmen nutzen Portainer als "Docker-Desktop für Server": Entwickler und Ops-Teams können über eine gemeinsame Oberfläche Container verwalten, ohne dass jeder tiefgehende CLI-Kenntnisse haben muss. Besonders in agilen Teams mit wechselnden Mitgliedern ist die visuelle Oberfläche ein großer Produktivitätsgewinn.
6. Enterprise Best Practices
Sicherheit
- Nur HTTPS (Port 9443) verwenden
- Starke Passwörter für Admin-Accounts
- Zugriff auf vertrauenswürdige IPs beschränken
- Docker Socket nur wenn nötig mounten
- Regelmäßige Sicherheitsupdates
Backup & Recovery
- Volume
portainer_dataregelmäßig sichern - Stack-Konfigurationen in Git versionieren
- Export-Funktion für Einstellungen nutzen
- Recovery-Prozess dokumentieren und testen
Monitoring
- Portainer-Logs in zentrales Logging einspeisen
- Container-Health-Checks konfigurieren
- Resource Limits für alle Container setzen
- Alerting bei ungewöhnlichen Mustern
Updates & Wartung
- Regelmäßig auf neue Portainer-Versionen prüfen
- Updates in Test-Umgebung zuerst testen
- Backup vor jedem Update erstellen
- Changelog lesen für Breaking Changes
Docker Socket Sicherheit
Das Mounten von /var/run/docker.sock gibt Portainer vollen Zugriff auf den Docker-Daemon. In Produktion sollten Sie:
- Nur vertrauenswürdigen Benutzern Zugriff geben
- Portainer in einem separaten Netzwerk isolieren
- Alternativ: Portainer Agent für remote Hosts nutzen (weniger Privilegien)
- Regelmäßige Audits der Portainer-Berechtigungen durchführen
7. FAQ – Häufige Fragen & Antworten
Häufige Fragen zu Docker & Portainer
Ja, mit den richtigen Sicherheitsmaßnahmen. Portainer selbst ist sicher, aber:
- Verwenden Sie immer HTTPS (Port 9443)
- Beschränken Sie den Zugriff auf vertrauenswürdige IPs
- Nutzen Sie starke Passwörter und 2FA (Business Edition)
- Mounten Sie den Docker Socket nur wenn nötig
- Halten Sie Portainer aktuell (regelmäßige Updates)
Für hochsensible Umgebungen empfiehlt sich die Business Edition mit LDAP/AD-Integration und erweiterten Zugriffskontrollen.
Ja, mit dem Portainer Agent. Statt den Docker Socket direkt zu mounten, können Sie den Portainer Agent auf jedem Host installieren. Der Agent kommuniziert mit dem lokalen Docker-Daemon und bietet eine sicherere Alternative:
- Weniger Privilegien als direkter Socket-Zugriff
- Verwaltung von remote Hosts möglich
- Bessere Isolation und Sicherheit
- Ideal für Multi-Host-Umgebungen
Der Agent ist besonders für Produktionseinsatz und verteilte Umgebungen empfohlen.
Container: Einzelne Docker-Container, die Sie über die GUI erstellen und verwalten. Gut für einfache, alleinstehende Dienste.
Stacks: Docker Compose Definitionen, die mehrere Container als eine Einheit verwalten. Ideal für:
- Anwendungen mit mehreren Komponenten (z.B. WordPress + MySQL)
- Reproduzierbare Deployments
- Versionierung in Git (Business Edition)
- Komplexe Netzwerk- und Volume-Konfigurationen
Empfehlung: Nutzen Sie Stacks für alle produktiven Anwendungen und Container nur für schnelle Tests.
Die Portainer-Konfiguration wird im Volume portainer_data gespeichert. So sichern Sie es:
Automatisierung: Erstellen Sie ein Cron-Job für tägliche Backups und speichern Sie die Backups extern (z.B. S3, NAS).
Ja! Portainer unterstützt neben Docker auch:
- Kubernetes: Verwaltung von Pods, Deployments, Services
- Docker Swarm: Native Swarm-Unterstützung
- Azure ACI: Azure Container Instances
- Nomad: HashiCorp Nomad (experimentell)
Sie können mehrere Umgebungen (Docker, Swarm, Kubernetes) von einer zentralen Portainer-Instanz aus verwalten. Die Business Edition bietet erweiterte Kubernetes-Features wie RBAC-Integration.
So aktualisieren Sie Portainer sicher:
- Backup erstellen: Volume
portainer_datasichern - Changelog lesen: Auf Breaking Changes prüfen
- Container stoppen:
docker-compose down - Image pullen:
docker-compose pull - Container starten:
docker-compose up -d
Tipp: Testen Sie Updates zuerst in einer Test-Umgebung, bevor Sie sie in Produktion ausrollen.
App Templates sind vorgefertigte Docker-Compose-Konfigurationen für beliebte Anwendungen. Sie ermöglichen Deployment mit wenigen Klicks:
- Vorgefertigte Templates: WordPress, Nextcloud, GitLab, MySQL, PostgreSQL, Grafana, Prometheus, etc.
- Custom Templates: Eigene Templates erstellen und im Team teilen
- Template-Repository: Community-Templates von GitHub importieren
So nutzen Sie Templates:
- Gehen Sie zu App Templates in der Sidebar
- Wählen Sie eine Anwendung (z.B. WordPress)
- Konfigurieren Sie Umgebungsvariablen (Passwörter, Domains)
- Klicken Sie auf Deploy the container
Templates sind ideal für schnelle Deployments und Standard-Konfigurationen im Team.
Portainer bietet mehrere Möglichkeiten zur Multi-Host-Verwaltung:
- Portainer Agent: Auf jedem Host installieren, zentrale Verwaltung
- Edge Agent: Für remote Hosts ohne direkte Verbindung
- Environments: Hosts in Gruppen organisieren (Dev, Staging, Prod)
- Tags: Hosts mit Labels versehen für Filterung
Empfehlung für Enterprise: Nutzen Sie den Portainer Agent auf allen Hosts und organisieren Sie diese in Environments. Die Business Edition bietet Git-Integration für Stack-Deployments über alle Hosts hinweg.
Zusammenfassung
Die wichtigsten Punkte
- Portainer: Web-GUI für Docker, Swarm, Kubernetes – keine CLI-Kenntnisse nötig
- Features: Container-Verwaltung, App Templates, Stacks, User-Management, Monitoring
- Installation: Als Docker-Container mit Docker-Compose, wenige Minuten Aufwand
- Editionen: CE (kostenlos, Open Source) und BE (Enterprise-Features, kostenpflichtig)
- Use Cases: Dev-Teams, Produktion, Schulung, Home-Lab, Self-Hosting
- Sicherheit: HTTPS, starke Passwörter, Zugriffskontrolle, regelmäßige Updates
- Best Practice: Stacks für produktive Apps, Volume-Backups, Monitoring
Nächste Schritte
Portainer ist ein hervorragendes Tool für die Docker-Verwaltung, besonders in Teams mit unterschiedlichen Kenntnissen. Starten Sie mit der Community Edition, erkunden Sie die App Templates und nutzen Sie Stacks für reproduzierbare Deployments. Für Enterprise-Umgebungen mit LDAP/AD und Git-Integration ist die Business Edition empfehlenswert.
Weiter zu Docker ComposeWeiterführende Themen
Docker-Grundlagen: Images, Container, Volumes, Networks und Dockerfile.
Zu Docker ContainerMulti-Container-Orchestrierung mit Docker Compose und YAML-Dateien.
Zu Docker ComposeKubernetes, Docker Swarm und andere Orchestrierungswerkzeuge im Vergleich.
Zu Container OrchestrationTerraform, Ansible, Pulumi – Infrastruktur als Code verwalten.
Zu Infrastructure as Code