Installation und Konfiguration von Portainer CE
Level: Anfänger
Zeit zur Fertigstellung: ~30 Minuten
Ziel: Nach Abschluss dieses Leitfadens haben Sie ein vollständig konfiguriertes Portainer CE-Panel, das mit HTTPS gesichert ist und bereit ist, die Docker-Infrastruktur Ihres Servers zu verwalten.
Einführung
Docker-basierte Containerisierung ist zum Standard für Serverinfrastrukturen geworden und gewährleistet vorhersehbare Bereitstellungen und effizientes Skalieren von Diensten. Wenn jedoch Dutzende von Containern ausgeführt werden, wird die Verwaltung ausschließlich über die Befehlszeile unpraktisch. Portainer CE löst dieses Problem, indem es eine benutzerfreundliche Weboberfläche für die Docker-Verwaltung bereitstellt: Es bietet Zugriff auf alle Container, deren Status, Protokolle und Ressourcen, und die Verwaltung erfolgt mit wenigen Klicks, ohne die Systemkontrolle zu verlieren.
Servervorbereitung
Vor der Installation muss sichergestellt werden, dass der Server für die Bereitstellung von Portainer bereit ist. Portainer selbst läuft als Container, daher muss nur Docker installiert sein.
Systemanforderungen
- Betriebssystem: Jede Linux-Distribution (Ubuntu 20.04+, Debian 11+, CentOS/Rocky Linux 8+), die im Hosting verwendet wird.
- Berechtigungen: Root-Zugriff oder die Möglichkeit, Befehle über sudo auszuführen.
- Hardwareanforderungen: Mindestens 1 GB RAM und 10 GB freier Festplattenspeicher.
- Netzwerkanforderungen: Offene Ports 8000 und 9443 für den Zugriff auf Portainer, Port 443 für die Reverse-Proxy-Konfiguration.
Überprüfung der Docker-Verfügbarkeit
Verbinden Sie sich über SSH mit dem Server. Überprüfen Sie zunächst, ob Docker installiert ist und ob der Daemon läuft:
docker --version sudo systemctl status docker
Wenn die Docker-Version angezeigt wird und der Status aktiv (läuft) ist, kann der Docker-Installationsschritt übersprungen werden.
Docker-Installation (falls erforderlich)
Auf neuen Servern ist Docker in der Regel nicht vorhanden. Um es zu installieren, führen Sie das Standardskript aus (für Debian/Ubuntu):
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo systemctl enable docker sudo systemctl start docker
Um das Docker Compose-Plugin zu installieren (falls es im vorherigen Schritt nicht installiert wurde), führen Sie aus:
sudo apt-get install docker-compose-plugin # Für Debian/Ubuntu # oder sudo dnf install docker-compose-plugin # Für CentOS/Rocky Linux
Überprüfen Sie die Version des installierten Docker Compose:
docker compose version
Bereitstellung von Portainer CE in Docker
Es gibt zwei Hauptmethoden, um Portainer auszuführen: über den Befehl docker run (Schnellstart) und über docker-compose.yml (praktisch für die Konfigurationsversionierung).
Methode 1: Ausführung über docker run
Führen Sie den folgenden Befehl auf dem Server aus:
sudo 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
Der Befehl wird über sudo ausgeführt, da der aktuelle Benutzer noch nicht zur Docker-Gruppe hinzugefügt wurde. Wenn Sie Docker später ohne sudo verwenden möchten, fügen Sie den Benutzer zur Docker-Gruppe hinzu: sudo usermod -aG docker $USER. Nach der Ausführung des Befehls müssen Sie sich ab- und wieder anmelden oder Ihre Sitzung neu starten.
Erklärung der Parameter:
- -d – Führt den Container im Hintergrund aus.
- -p 8000:8000 – Portweiterleitung für Edge-Agenten und Tunnel.
- -p 9443:9443 – Portweiterleitung für die gesicherte Weboberfläche (HTTPS). Portainer generiert automatisch ein selbstsigniertes SSL-Zertifikat.
- --name portainer – Weist dem Container einen aussagekräftigen Namen zu.
- --restart=always – Automatische Neustartrichtlinie für Container bei Fehlern oder Serverneustart.
- -v /var/run/docker.sock:/var/run/docker.sock – Bindet den Docker-Socket innerhalb des Portainer-Containers ein. Dadurch kann Portainer mit dem Docker-Daemon auf dem Host interagieren und ihn verwalten.
- -v portainer_data:/data – Erstellt ein benanntes Volume zum Speichern von Portainer-Daten (Benutzer, Einstellungen, Verbindungskonfigurationen).
- portainer/portainer-ce:latest – Das Image mit der neuesten stabilen Version der Community Edition.
Methode 2: Ausführung über docker-compose
Um diese Methode zu verwenden, erstellen Sie ein Verzeichnis und eine docker-compose.yml-Datei:
mkdir ~/portainer-docker cd ~/portainer-docker nano docker-compose.yml
Fügen Sie den folgenden Inhalt ein:
services: portainer: image: portainer/portainer-ce:latest container_name: portainer restart: always ports: - "8000:8000" - "9443:9443" volumes: - /var/run/docker.sock:/var/run/docker.sock - portainer_data:/data volumes: portainer_data:
Speichern Sie die Datei und führen Sie den Befehl aus:
docker compose up -d
Erststart und Einrichtung der Weboberfläche
Nach dem Start des Portainer-Containers ist dieser über das Netzwerk zugänglich.
Schritt 1. Verbindung zur Weboberfläche
Öffnen Sie einen Browser und gehen Sie zu: https://<server-IP-Adresse>:9443.
Aufgrund der Verwendung eines selbstsignierten Zertifikats zeigt der Browser eine Warnung an. Dies ist beim ersten Start normal. Sie müssen zur Website fortfahren (z. B. auf "Risiko akzeptieren" oder "Zur Website fortfahren" klicken).

Schritt 2. Benutzer erstellen
Auf der Registrierungsseite müssen Sie einen Benutzernamen (admin wird empfohlen) angeben und ein starkes Passwort festlegen.
Das Passwort muss komplex sein, da es vollen Zugriff auf die Containerverwaltung bietet.
Schritt 3. Verbindung der Umgebung
Nach der Erstellung des Benutzers fordert Portainer Sie auf, Umgebungen zu verbinden. An dieser Stelle können Sie entweder den lokalen Docker (bereits verfügbar dank des eingebundenen Sockets) verbinden oder über die Schaltfläche "Umgebungen hinzufügen" Remote-Umgebungen hinzufügen. Remote-Umgebungen sind nützlich, wenn Sie mehrere Server von einer einzigen Portainer-Oberfläche aus verwalten müssen: zum Beispiel das Hinzufügen von Docker-Hosts in verschiedenen Rechenzentren oder Servern mit Kubernetes. Die Verbindung erfolgt über Portainer-Agenten oder über die API mit TLS-Zertifikaten.
- Wählen Sie die Option "Erste Schritte". Dies ist das grundlegende Szenario für einen einzelnen Server.

- Portainer erkennt automatisch den lokalen Docker-Socket. Er wird als "lokal" angezeigt.

- Klicken Sie darauf, um die Einrichtung abzuschließen.
Die Einrichtung ist abgeschlossen. Das Portainer-Dashboard (Hauptbildschirm) wird mit kurzen Statistiken zu Containern, Images, Volumes und Netzwerken geöffnet.

Hauptfunktionen von Portainer
Werfen wir einen Blick auf die Hauptabschnitte der Oberfläche, die für tägliche Verwaltungsaufgaben verwendet werden.
Dashboard
Der Startbildschirm, der das Gesamtbild anzeigt: die Anzahl der laufenden und gestoppten Container, die Anzahl der heruntergeladenen Images. Ermöglicht eine schnelle Einschätzung des Serverzustands.
Container
- Der zentrale Verwaltungsbereich. Zeigt eine Liste aller Container an.
- Containerverwaltung: Starten, stoppen, neu starten, löschen eines Containers mit einem Klick.
- Protokolle: Der Tab "Protokolle" bietet Zugriff auf die Echtzeitansicht der Containerprotokolle.
- Inspektieren: Zeigt vollständige Informationen über den Container im JSON-Format an: Umgebungsvariablen, Einhängepunkte, Netzwerkeinstellungen.
- Statistiken: Diagramme der CPU-, Speicher- und Netzwerkauslastung für jeden Container. Hilft, den Ressourcenverbrauch einzelner Dienste zu bestimmen.
- Exec-Konsole: Möglichkeit, ein Web-Terminal innerhalb eines Containers zu öffnen, um Befehle auszuführen.
Stacks
Implementierung von Docker Compose in der Weboberfläche. Ermöglicht das Hochladen oder Erstellen von YAML-Dateien direkt über den Browser zur Bereitstellung von Multi-Container-Anwendungen.
Images
- Verwaltung von Docker-Images.
- Pull: Möglichkeit, Images (z. B. nginx:latest oder mysql:8.0) direkt über die Oberfläche herunterzuladen.
- Entfernen: Bereinigung ungenutzter Images zur Freigabe von Festplattenspeicher.
Volumes
Verwaltung von persistenten Datenvolumes. Zeigt vorhandene Volumes, deren Anbindung an Container und den von ihnen belegten Speicherplatz an. Kritisch wichtig für Datenbanken und Benutzerdaten.
Netzwerke
Ermöglicht die Erstellung isolierter Netzwerke für die Containerinteraktion.
Änderungen rückgängig machen (Entfernen von Portainer)
Wenn Sie Portainer und seine Daten vollständig vom Server entfernen müssen, führen Sie die folgenden Schritte aus:
1. Stoppen und entfernen Sie den Portainer-Container:
sudo docker stop portainer sudo docker rm portainer
2. Entfernen Sie das Portainer-Datenvolume (Warnung: Diese Aktion ist irreversibel):
sudo docker volume rm portainer_data
Das Löschen des portainer_data-Volumes führt zum unwiderruflichen Verlust aller Benutzer, Einstellungen und Konfigurationen von Portainer.
3. Entfernen Sie das Portainer-Image (optional):
sudo docker rmi portainer/portainer-ce:latest
Sicherheit und Empfehlungen
Für die Produktion ist eine zusätzliche Sicherheitskonfiguration von Portainer erforderlich.
Verwendung eines Reverse-Proxys (Nginx/Apache)
Es wird empfohlen, eine Subdomain einzurichten (z. B. portainer.domain.com) und den Datenverkehr über Nginx zu leiten. Dies bietet:
- Verwendung eines gültigen SSL-Zertifikats (kostenlos von Let's Encrypt oder ein kostenpflichtiges SSL, z. B. von Sectigo).
- Zentralisiertes Zugriffsprotokoll.
- Möglichkeit zur Konfiguration zusätzlicher Authentifizierung.
1. Installation und Konfiguration von Nginx
Installieren Sie Nginx:
sudo apt install -y nginx # Für Debian/Ubuntu # oder sudo dnf install -y nginx # Für CentOS/Rocky Linux
Erstellen Sie eine Konfigurationsdatei für Portainer:
sudo nano /etc/nginx/sites-available/portainer.conf
Fügen Sie die folgende Konfiguration hinzu, wobei Sie <YOUR_DOMAIN> durch Ihre Domain ersetzen, die auf die IP des Servers verweist:
server { listen 80; server_name
; location / { proxy_pass https://localhost:9443; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_cache_bypass $http_upgrade; # Timeouts für lange Operationen proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600; } }
Aktivieren Sie die Konfiguration:
sudo ln -s /etc/nginx/sites-available/portainer.conf /etc/nginx/sites-enabled/
Überprüfen Sie die Nginx-Konfiguration:
sudo nginx -t
Wenn die Überprüfung erfolgreich ist, starten Sie Nginx neu:
sudo systemctl restart nginx
2. Einrichtung von HTTPS (empfohlen)
Installieren Sie Certbot:
sudo apt install -y certbot python3-certbot-nginx
Erhalten Sie ein SSL-Zertifikat:
sudo certbot --nginx -d
Ersetzen Sie <YOUR_DOMAIN> durch Ihre Domain.
Geben Sie während der Installation Ihre E-Mail-Adresse ein, z. B. admin@<YOUR_DOMAIN>, und drücken Sie dann zweimal Y.
Überprüfen Sie die automatische Zertifikatsverlängerung:
sudo systemctl list-timers | grep certbot
Firewall-Konfiguration
Der direkte Zugriff auf Portainer-Ports sollte eingeschränkt werden. Erlauben Sie den Zugriff auf die Ports 8000 und 9443 nur von vertrauenswürdigen IP-Adressen.
Seien Sie vorsichtig mit Firewall-Regeln. Eine falsche Konfiguration kann Ihren Zugriff auf den Server blockieren.
Beispiel für UFW:
sudo ufw allow from 192.168.1.0/24 to any port 9443 proto tcp sudo ufw deny 9443
Wo 192.168.1.0/24 das Subnetz vertrauenswürdiger IP-Adressen ist.
Regelmäßige Updates
Es wird empfohlen, die Veröffentlichung neuer Portainer-Versionen zu verfolgen und den Container rechtzeitig zu aktualisieren, um potenzielle Schwachstellen zu beseitigen.
Überprüfung des Betriebs
Um zu überprüfen, ob Portainer korrekt funktioniert, führen Sie die folgenden Aktionen aus.
1. Visuelle Überprüfung: Stellen Sie im Abschnitt "Container" sicher, dass der Portainer-Container den Status "läuft" hat.
2. Erstellen eines Testcontainers:
- Gehen Sie zum Abschnitt "Container" und klicken Sie auf die Schaltfläche "Container hinzufügen".
- Geben Sie im Feld "Name" test-nginx an.
- Geben Sie im Feld "Image" nginx:alpine an.
- Geben Sie im Abschnitt "Portzuordnung" den Host-Port 8080 und den Container-Port 80 an.
- Klicken Sie auf "Container bereitstellen".
3. Zugänglichkeitsprüfung:
- Warten Sie, bis der Container in der Liste mit dem Status "läuft" angezeigt wird.
- Öffnen Sie einen Browser und gehen Sie zu
http://<YOUR_IP_ADDRESS>:8080. Die Nginx-Willkommensseite sollte angezeigt werden.
4. Verwaltungsprüfung:
- Finden Sie in Portainer den test-nginx-Container und klicken Sie auf die Schaltfläche "Stoppen".
- Aktualisieren Sie die Nginx-Seite im Browser – der Zugriff sollte nicht verfügbar sein.
- Klicken Sie auf "Starten" – der Zugriff auf die Seite sollte wiederhergestellt werden.
Fehlerbehebung
Problem 1: Die Portainer-Weboberfläche kann nicht unter https://<YOUR_IP_ADDRESS>:9443 geöffnet werden
Mögliche Ursache: Die Firewall blockiert den Port 9443.
Lösung: Überprüfen Sie die Firewall-Regeln und stellen Sie sicher, dass der Port geöffnet ist. Für UFW: sudo ufw status | grep 9443.
Problem 2: Fehler "Kann keine Verbindung zum Docker-Daemon herstellen" beim Ausführen von Docker-Befehlen.
Mögliche Ursache: Der Docker-Daemon läuft nicht oder der Benutzer hat keine Berechtigungen.
Lösung: Starten Sie den Daemon: sudo systemctl start docker. Wenn Sie den Benutzer zur Docker-Gruppe hinzugefügt haben, melden Sie sich ab und wieder an.
Problem 3: Der Portainer-Container startet nicht und beendet sich sofort (Status beendet).
Mögliche Ursache: Portkonflikt oder ein beschädigtes Image.
Lösung: Überprüfen Sie, ob Port 9443 von einer anderen Anwendung belegt ist: sudo ss -tulpn | grep 9443. Versuchen Sie, den Port neu zuzuweisen und den Container neu zu starten: sudo docker restart portainer.
Fazit
Portainer CE bietet ein effektives Werkzeug zur visuellen Überwachung und Verwaltung von Docker-Containern. Die Möglichkeit, den Status von Containern schnell zu beurteilen, Ressourcennutzungsdiagramme zu analysieren und typische Operationen ohne Verbindung über SSH durchzuführen, verkürzt die Reaktionszeit bei Vorfällen und vereinfacht die tägliche Verwaltung.
Dieses Tool kann nützlich sein, wenn es erforderlich ist, Entwicklern oder weniger erfahrenem Personal eingeschränkten Zugriff auf die Containerverwaltung zu gewähren, ohne direkten Zugriff auf die Server-Befehlszeile zu gewähren. Portainer CE ist eine Standardlösung zur Visualisierung der Containerinfrastruktur und wird für den Einsatz auf Servern empfohlen.
Dokumentversion: 1.1
Zuletzt aktualisiert: März 2026
Besitzer: Technisches Dokumentationsteam