Was ist Portainer? Docker per Weboberfläche verwalten
Portainer erklärt: was die Docker-Weboberfläche leistet, wie sie zu Docker und Compose steht, CE oder Business Edition – und wann die Kommandozeile besser ist.
Von Niclas Hennrich · Veröffentlicht: · 9 Min. Lesezeit · Einsteiger
Vorher hilfreich: Docker Grundlagen
Reality Check
Stand: Oktober 2026
Kurz gesagt: Portainer ist eine Weboberfläche für Docker. Es läuft selbst als Container, spricht über den Docker-Socket mit dem Docker-Dienst und zeigt dir Container, Images, Volumes, Netzwerke und Compose-Stacks im Browser – mit Logs, Statistiken und einer Konsole. Portainer ersetzt Docker nicht, es bedient es. Für das Homelab reicht die kostenlose Community Edition; die Kommandozeile bleibt trotzdem unverzichtbar.
Wer ein paar Dienste per Docker betreibt, verliert irgendwann den Überblick: Welcher Container läuft mit welchem Image, welche Ports sind belegt, warum ist der eine seit gestern aus? Genau hier setzt Portainer an. Dieser Guide erklärt, was Portainer ist, wie es mit Docker und Docker Compose zusammenhängt, worin sich die beiden Editionen unterscheiden und wo die Grenzen einer Weboberfläche liegen. Er ist der Einstieg in die Portainer-Serie.
Voraussetzungen #
- Grundbegriffe von Docker: Image, Container, Volume, Port-Freigabe, Netzwerk. Wenn dir einer davon fremd ist, lies zuerst die Docker-Grundlagen.
- Für das Ausprobieren am Ende: ein Linux-Host mit Docker, am besten eine Test-VM.
Lernziel: Du kannst einordnen, welche Aufgabe Portainer übernimmt und welche nicht, entscheidest begründet zwischen Community und Business Edition und weißt, für welche Arbeiten du besser im Terminal bleibst.
Was Portainer macht #
Der Docker-Dienst (Daemon) auf deinem Host nimmt Aufträge über eine
Programmierschnittstelle (API) entgegen. Der Befehl docker im Terminal ist
nur ein Client dafür. Portainer ist ein zweiter Client – einer mit
Weboberfläche. Dafür bindet man den Docker-Socket /var/run/docker.sock,
also den lokalen Zugang zur Docker-API, in den Portainer-Container ein.
Portainer liest darüber den Zustand des Hosts aus und schickt dieselben
Aufträge, die du sonst per Kommandozeile geben würdest.
Für einen einzelnen Docker-Host gliedert die Oberfläche die Arbeit laut Portainer-Doku in Bereiche wie Dashboard, Templates, Stacks, Containers, Images, Networks, Volumes, Events und Host. Im Alltag nutzt du vor allem diese Funktionen:
- Überblick: alle Container mit Status, Image und Ports. (Einen Hinweis auf neuere Image-Versionen zeigt laut Doku nur die Business Edition.)
- Container bedienen: starten, stoppen, neu erzeugen, Logs lesen, CPU- und Speicherverbrauch ansehen, eine Shell im Container öffnen.
- Stacks: Compose-Dateien im Browser einfügen oder aus einem Git-Repository laden und als zusammengehörige Anwendung starten.
- Mehrere Hosts: weitere Docker-Hosts als sogenannte Environments anbinden und aus einer Oberfläche verwalten.
Portainer speichert seine eigenen Daten – Benutzer, Einstellungen,
Stack-Definitionen – in einem Volume, das im Container unter /data
eingebunden ist. Die Anwendungsdaten deiner Dienste liegen dagegen weiter in
deren eigenen Volumes.
Docker, Docker Compose und Portainer: wer macht was? #
Die drei Begriffe tauchen oft zusammen auf, beschreiben aber verschiedene Ebenen:
| Ebene | Aufgabe | Ohne sie … |
|---|---|---|
| Docker Engine | führt Container aus, verwaltet Images, Volumes, Netzwerke | läuft gar nichts |
| Docker Compose | beschreibt mehrere Container samt Ports, Volumes und Variablen in einer compose.yaml | bleiben lange docker run-Zeilen |
| Portainer | zeigt den Zustand an und gibt Docker Aufträge per Weboberfläche | arbeitest du ausschließlich im Terminal |
Daraus folgen zwei praktische Konsequenzen. Erstens: Portainer ist kein
Ersatz für Compose, sondern nutzt dessen Format. Ein Stack in Portainer ist
im Kern eine Compose-Datei, die Portainer für dich ablegt und ausführt. Im
Test mit Portainer CE 2.45.2 lagen diese Dateien im Portainer-Volume unter
/data/compose/ – jeweils eine docker-compose.yml und, falls
Stack-Variablen gesetzt waren, eine stack.env mit den Werten im Klartext.
Zweitens: Die Container gehören dem Docker-Dienst, nicht Portainer. Stoppst du Portainer, laufen deine Dienste weiter. Du verlierst nur die Oberfläche.
Server, Agent und Edge Agent #
Portainer besteht aus zwei Bausteinen: dem Portainer Server, der die Oberfläche bereitstellt und alle Daten hält, und dem optionalen Portainer Agent für weitere Hosts. Für den Einstieg brauchst du nur den Server; er verwaltet den Docker-Host, auf dem er selbst läuft, direkt über den Socket.
Weitere Hosts bindest du auf zwei Arten an. Beim klassischen Agent baut der
Server die Verbindung zum Agent auf; im Test lauschte der Agent dafür auf
Port 9001 des entfernten Hosts. Dieser Port darf nur aus dem Netz des
Servers erreichbar sein: Ein Agent ohne AGENT_SECRET koppelt sich mit dem
ersten Portainer-Server, der sich verbindet. Beim Edge Agent ist es umgekehrt: Der
entfernte Host meldet sich selbst beim Server, braucht also keinen
eingehenden Port. Dafür muss der Server für ihn auf Port 9443 und – für den
Tunnel – auf Port 8000 erreichbar sein. Die Portainer-Doku empfiehlt den
Edge Agent für die meisten Fälle, vor allem wenn Hosts über das Internet
angebunden werden. Wann welcher Weg passt, erklärt der Guide
Portainer mit mehreren Servern.
Community Edition oder Business Edition? #
Portainer gibt es in zwei Editionen, die auf derselben Codebasis aufbauen.
Community Edition (CE) ist kostenlos, Open Source unter der zlib-Lizenz und laut Projektbeschreibung ausdrücklich für Homelabs, Lernumgebungen und private Projekte gedacht. Es gibt keinen offiziellen Support; Hilfe kommt aus Community-Kanälen. Laut den von Portainer geprüften Konfigurationen läuft die CE mit Docker, Kubernetes und Podman.
Business Edition (BE) ergänzt Funktionen für Teams und Unternehmen. Das wichtigste Beispiel für den Unterschied ist die rollenbasierte Rechtevergabe (RBAC): In der BE kannst du Benutzern fein abgestufte Rollen wie „Operator“ oder „Read-Only User“ pro Environment geben. In der CE fehlt diese Rollenverwaltung; beim Anlegen eines Benutzers legst du dort vor allem fest, ob er Administrator ist oder nicht. Dazu kommen kommerzieller Support und weitere Verwaltungsfunktionen. Portainer bietet eine kostenlose BE-Lizenz für drei Nodes an.
Für ein Homelab mit einem oder wenigen Hosts, das du allein oder mit wenigen vertrauten Personen betreibst, ist die CE die naheliegende Wahl. Die BE lohnt sich, wenn du mehreren Leuten bewusst unterschiedliche Rechte geben willst.
LTS oder STS? #
Für den Dauerbetrieb im Homelab ist die LTS-Linie (Long Term Support)
die ruhigere Wahl: Sie bekommt länger Korrekturen, und auch Portainer
empfiehlt sie für den produktiven Einsatz. STS (Short Term Support)
liefert neue Funktionen früher, wird aber schon mit dem nächsten Release
abgelöst. Laut Lebenszyklus-Seite steht Ende 2026 der Sprung auf Version 3
an – eine neue Hauptversion kann Umstellungen verlangen. Die offizielle
Compose-Datei verwendet das Image portainer/portainer-ce:lts, das im Test
auf Version 2.45.2 zeigte. Für reproduzierbare Updates kannst du statt des
beweglichen Tags die feste Version eintragen – Details im Guide
Portainer aktualisieren.
Wofür Portainer im Homelab gut ist #
- Status auf einen Blick: Ein beendeter Container oder ein belegter Port
fällt in einer Liste schneller auf als in der Ausgabe von
docker ps -a. - Logs und Konsole ohne SSH: Für einen schnellen Blick ins Log oder eine Shell im Container brauchst du nur den Browser.
- Lernen: Die Formulare zeigen alle Optionen eines Containers
nebeneinander – Ports, Volumes, Netzwerk, Restart-Policy. Das hilft, die
Zusammenhänge zu verstehen, die bei
docker runin einer langen Zeile verschwinden. - Mehrere Hosts: Homelab-Server und ein kleiner VPS lassen sich aus einer Oberfläche bedienen.
Grenzen: wann die Kommandozeile besser ist #
Portainer ist bequem, aber nicht für alles das richtige Werkzeug:
- Reproduzierbarkeit: Eine
compose.yamlin einem Git-Repository ist die verlässlichere Quelle als ein Stack, den du im Browser bearbeitet hast. Portainer kann Stacks aus Git laden – die Datei sollte dann aber auch nur dort geändert werden. - Fehlersuche: Wenn ein Container nicht startet oder zwei Dienste sich
nicht finden, kommst du mit
docker logs,docker inspectund einem Test-Container im selben Netzwerk meist schneller ans Ziel. - Statusanzeigen genau lesen: Im Test galt ein Stack in Portainer als aktiv, obwohl zwei von vier Containern beendet waren. „Stack aktiv“ heißt also nicht automatisch „alle Container laufen“.
- Automatisierung: Skripte, Cronjobs und Backups laufen auf dem Host, nicht in einer Weboberfläche.
- Notfall: Wenn Portainer selbst nicht startet, ist das Terminal dein einziger Zugang. Die wichtigsten Docker-Befehle solltest du deshalb auch mit Portainer beherrschen.
Ein Portainer-Backup sichert übrigens nur Portainer selbst – Einstellungen, Benutzer, Stack-Dateien. Im Test enthielt es keine Volumes und keine Anwendungsdaten. Deine Datenbanken und Dateien brauchen eine eigene Sicherung.
Portainer ausprobieren #
Für einen ersten Eindruck reicht ein Test-Host mit Docker. Die Portainer-Doku liefert eine fertige Compose-Datei; die folgenden Befehle legen ein Verzeichnis an, laden die Datei herunter und starten Portainer:
mkdir -p ~/portainer && cd ~/portainer
curl -fsSL https://downloads.portainer.io/ce-lts/portainer-compose.yaml -o compose.yaml
docker compose up -dDie Datei gibt Port 9443 und 8000 auf allen Adressen des Hosts frei – an ufw und firewalld vorbei. Probiere das deshalb nur im LAN oder auf einer Test-VM aus; Port 8000 brauchst du nur für Edge Agents und kannst die Zeile sonst entfernen.
Neue Instanzen verlangen beim ersten Aufruf ein einmaliges Setup-Token, damit niemand anderes die frische Instanz übernimmt. Portainer schreibt es ins Log:
docker logs portainer 2>&1 | grep setup_token... setup_token=<SETUP_TOKEN> ... Paste it into the setup screen, or send it in the X-Setup-Token header ...Danach rufst du https://192.168.10.20:9443 auf (Beispieladresse, setze die
deines Hosts ein), trägst das Token in das Feld Setup token ein und legst
das Administratorkonto an. Laut Doku muss das innerhalb von fünf Minuten
nach dem Start passieren, sonst musst du den Container neu starten. Die
vollständige Anleitung mit Docker-Installation, Prüfschritten und
Fehlerbildern steht im Guide
Portainer installieren.
Typische Probleme #
- Browser warnt vor einem unsicheren Zertifikat – Ursache: Portainer erzeugt beim ersten Start ein selbstsigniertes Zertifikat. Lösung: Für den Test im LAN die Warnung bewusst bestätigen, dauerhaft ein eigenes Zertifikat oder einen Reverse Proxy einsetzen.
- „Invalid or missing setup token“ – Ursache: Das Setup-Token fehlt oder
ist falsch. Lösung: Token erneut aus
docker logs portainerholen. - Log meldet „the Portainer instance timed out for security purposes“ –
Ursache: Das Admin-Konto wurde nicht innerhalb von fünf Minuten angelegt.
Lösung:
docker restart portainerund die Einrichtung zügig abschließen. http://…:9000nicht erreichbar – Ursache: Die offizielle Compose-Datei veröffentlicht nur Port 9443 (HTTPS) und 8000. Port 9000 lauscht zwar im Container, ist vom Host aus aber nicht erreichbar. Lösung: HTTPS auf 9443 verwenden.
Sicherheit und Betrieb #
- Portainer hat Root-Macht über den Host. Wer Docker über den Socket steuern kann, kann jeden Container mit beliebigen Rechten starten – auch einen, der das Dateisystem des Hosts einbindet. Die Docker-Doku betont, dass nur vertrauenswürdige Personen den Docker-Dienst steuern sollten. Ein Portainer-Login ist damit faktisch ein Root-Zugang.
- Nicht ins Internet stellen. Port 9443 gehört ins LAN oder hinter ein VPN, nicht ungeschützt nach außen.
- Starkes Admin-Passwort. Im Test verlangte Portainer standardmäßig mindestens zwölf Zeichen; nimm ein langes, zufälliges Passwort aus dem Passwortmanager.
- Edge-Schlüssel und Webhook-URLs sind Geheimnisse. Im Test mit Portainer CE 2.45.2 war der Webhook eines Git-Stacks ohne Anmeldung auslösbar – wer die URL kennt, kann ein Deployment starten.
Wie du diese Punkte konkret umsetzt, zeigt der Guide Portainer sicher konfigurieren.
Weiterlesen #
- Portainer installieren – der nächste Schritt: Docker und Portainer auf Debian oder Ubuntu einrichten und prüfen.
- Portainer sicher konfigurieren – Passwort, HTTPS, Netzwerkzugriff und die Firewall-Falle, bevor die Instanz dauerhaft läuft.
- Container mit Portainer verwalten – die Alltagsaufgaben in der Oberfläche, von Logs bis zum Neuerzeugen mit neuem Image.
- Die Docker-Grundlagen – wenn dir beim Lesen Begriffe wie Volume oder Bind Mount noch unklar waren.
Quellen
Offizielle Dokumentation
Portainer Docs — Portainer architecture (externer Link, neues Fenster)
Offizielle Dokumentation
Portainer Docs — Install Portainer CE with Docker on Linux (externer Link, neues Fenster)
Offizielle Dokumentation
Portainer Docs — Lifecycle policy (externer Link, neues Fenster)
Offizielle Dokumentation
Portainer Docs — Requirements and prerequisites (externer Link, neues Fenster)
Offizielle Dokumentation
Portainer Docs — Roles (Business Edition) (externer Link, neues Fenster)
Offizielle Dokumentation
Portainer Docs — How do I find, skip, or customize my setup token? (externer Link, neues Fenster)
Hersteller
Portainer auf GitHub — README (Community Edition) (externer Link, neues Fenster)
Offizielle Dokumentation
Hersteller
Portainer — Business Edition kostenlos für drei Nodes (externer Link, neues Fenster)
Offizielle Dokumentation
Offizielle Dokumentation
Docker Docs — Docker Engine security (externer Link, neues Fenster)
Häufige Fragen
- Brauche ich Port 8000?
- Nur, wenn du Edge Agents anbinden willst: Über Port 8000 läuft deren Tunnel zum Server. Für einen einzelnen Host oder klassische Agents kannst du die Port-Zeile aus der Compose-Datei entfernen. Mit der offiziellen Compose-Datei ist die Weboberfläche nur über HTTPS auf Port 9443 erreichbar.
- Laufen meine Container weiter, wenn Portainer ausfällt?
- Ja. Die Container werden vom Docker-Dienst auf dem Host gestartet und überwacht, nicht von Portainer. Portainer ist nur die Oberfläche, über die du Docker Aufträge gibst. Fällt der Portainer-Container aus, verlierst du die Weboberfläche, die übrigen Dienste laufen unverändert weiter und lassen sich per Kommandozeile verwalten.
- Brauche ich für Portainer noch Docker-Kenntnisse?
- Ja, zumindest die Grundbegriffe. Portainer zeigt Images, Container, Volumes und Netzwerke übersichtlich an, aber die Formulare verlangen genau die Angaben, die du auch bei docker run machst: Image und Tag, Port-Zuordnungen, Volumes, Umgebungsvariablen. Wer die Bausteine kennt, kommt in Portainer schnell zurecht; wer sie nicht kennt, klickt sich leicht Datenverlust zusammen.
- Kann ich Portainer und die Kommandozeile parallel nutzen?
- Ja, beide sprechen mit demselben Docker-Dienst. Container, die du per docker run oder docker compose startest, tauchen in Portainer auf, und umgekehrt. Sinnvoll ist eine klare Regel pro Dienst, wer ihn verwaltet – sonst bearbeitest du eine Compose-Datei, während Portainer eine andere Version davon kennt.
Teil des Themen-Hubs Portainer – Docker einfach verwalten · Abschnitt „Grundlagen“
Weiterlesen
Docker
Docker Grundlagen: Container, Images, Volumes und Netzwerke
Docker von Grund auf: Image und Container, Lebenszyklus, Volumes, Ports, Netzwerke und Umgebungsvariablen – mit getesteten Befehlen und einem Compose-Beispiel.
Hardware
Warum sind Festplatten, SSDs und Grafikkarten gerade so teuer?
NAS-Platten und NVMe-SSDs kosten 2026 rund das Zweieinhalbfache des Vorjahres, Grafikkarten ziehen nach. Woher das kommt, was belegt ist — und was das für dein NAS oder deinen Homeserver heißt.
Neuromorphic Computing
Wie rechnet ein Netz mit Impulsen? Spiking Neural Networks erklärt
Was ein Spike-Neuron ist, wie das Leaky-Integrate-and-Fire-Modell funktioniert, wie SNNs Information kodieren und trainiert werden — mit kleinem Python-Beispiel.