Portainer Einrichtungsanleitung 2026: Docker-Verwaltung leicht gemacht
Installieren Sie Portainer CE auf Ihrem VPS, um Docker-Container über eine Web-Oberfläche zu verwalten. Vollständige Anleitung mit Einrichtung, Stacks, Templates und Multi-Server-Verwaltung.
Portainer Einrichtungsanleitung: Docker-Verwaltung leicht gemacht
Portainer bietet Ihnen eine Web-Oberfläche zur Verwaltung von Docker-Containern, Images, Volumes und Netzwerken. Anstatt sich docker-CLI-Befehle merken zu müssen, erhalten Sie ein übersichtliches Dashboard, das die Container-Verwaltung visuell und zugänglich macht.
Was ist Portainer?
Portainer ist eine schlanke Verwaltungsoberfläche für Docker und Kubernetes:
- Web-Dashboard — Alle Container, Images und Volumes auf einen Blick
- Stack-Verwaltung — Docker Compose Stacks direkt über die Oberfläche bereitstellen
- App-Templates — Über 100 beliebte Apps mit einem Klick bereitstellen
- Multi-Umgebung — Mehrere Docker-Hosts über eine Oberfläche verwalten
- Benutzerverwaltung — Teamzugang mit rollenbasierter Berechtigung
- Container-Konsole — Über den Browser in Container einloggen
- Logs und Statistiken — Echtzeit-Monitoring integriert
Portainer läuft als einzelner Docker-Container und benötigt minimale Ressourcen.
Portainer CE vs Business
| Funktion | Community (Kostenlos) | Business ($) |
|---|---|---|
| Container-Verwaltung | ✅ | ✅ |
| Docker Compose/Stacks | ✅ | ✅ |
| App-Templates | ✅ | ✅ |
| Rollenbasierter Zugang | ✅ | ✅ |
| Mehrere Umgebungen | ✅ | ✅ |
| Kubernetes-Unterstützung | ✅ | ✅ |
| Registry-Verwaltung | Basis | Erweitert |
| GitOps-Deployments | ❌ | ✅ |
| Externe Authentifizierung (LDAP/OAuth) | ❌ | ✅ |
| Support | Community | Professionell |
Für Self-Hoster und kleine Teams: CE ist mehr als ausreichend. Business richtet sich an Organisationen, die Enterprise-Authentifizierung und Audit-Trails benötigen.
VPS-Anforderungen
Portainer selbst ist ressourcenschonend, aber Sie brauchen Kapazität für Ihre Container:
- Minimum: 1 vCPU, 1GB RAM, 20GB Speicher
- Empfohlen: 2 vCPU, 4GB RAM, 40GB+ Speicher
- Betriebssystem: Ubuntu 22.04+, Debian 12+ oder jedes Linux mit Docker
- Ports: 9443 (HTTPS-Oberfläche), 8000 (Edge Agents, optional)
Empfohlene VPS-Anbieter
| Anbieter | Tarif | Spezifikationen | Preis |
|---|---|---|---|
| Hostinger | KVM1 | 1 vCPU, 4GB RAM | $4,99/Monat |
| Hetzner | CX22 | 2 vCPU, 4GB RAM | €5,49/Monat |
| DigitalOcean | Basic | 2 vCPU, 2GB RAM | $12/Monat |
| Vultr | VC2 | 2 vCPU, 4GB RAM | $24/Monat |
Bestes Preis-Leistungs-Verhältnis: Hostinger KVM1 bietet 4GB RAM für $4,99/Monat — ausreichend für Portainer plus ein Dutzend Container.
Installationsanleitung
Schritt 1: VPS erstellen
- Registrieren Sie sich beim Anbieter Ihrer Wahl (wir empfehlen Hostinger)
- Erstellen Sie einen VPS mit Ubuntu 22.04 oder Debian 12
- Wählen Sie mindestens 2GB RAM
- Fügen Sie Ihren SSH-Schlüssel hinzu
- Notieren Sie sich die Server-IP
Schritt 2: Docker installieren
Verbinden Sie sich per SSH mit Ihrem Server und installieren Sie Docker:
ssh root@your-server-ip
# System aktualisieren
apt update && apt upgrade -y
# Docker mit dem offiziellen Skript installieren
curl -fsSL https://get.docker.com | sh
# Installation überprüfen
docker --version
docker run hello-world
Schritt 3: Portainer CE installieren
Erstellen Sie ein Volume für Portainer-Daten und starten Sie den Container:
# Daten-Volume erstellen
docker volume create portainer_data
# Portainer 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:sts
Das war’s. Portainer läuft.
Schritt 4: Dashboard aufrufen
Öffnen Sie Ihren Browser:
https://your-server-ip:9443
Sie sehen eine Warnung wegen eines selbstsignierten SSL-Zertifikats — das ist normal, akzeptieren Sie es.
Beim ersten Aufruf:
- Erstellen Sie Ihr Administratorkonto
- Legen Sie ein starkes Passwort fest (mindestens 12 Zeichen erforderlich)
- Klicken Sie auf Get Started, um sich mit der lokalen Docker-Umgebung zu verbinden
Sie haben jetzt eine voll funktionsfähige Portainer-Instanz.
Schritt 5: SSL mit Reverse Proxy einrichten (Optional)
Für ein richtiges SSL-Zertifikat verwenden Sie Caddy oder Traefik als Reverse Proxy:
Caddy-Beispiel:
portainer.yourdomain.com {
reverse_proxy localhost:9443 {
transport http {
tls_insecure_skip_verify
}
}
}
Oder mit Nginx:
server {
listen 443 ssl;
server_name portainer.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/portainer.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/portainer.yourdomain.com/privkey.pem;
location / {
proxy_pass https://localhost:9443;
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;
}
}
Erstellen Sie einen DNS-A-Eintrag für portainer.yourdomain.com → Ihre Server-IP.
Container bereitstellen
Bereitstellung über App-Templates
Portainer enthält über 100 integrierte Templates:
- Gehen Sie zu App Templates in der Seitenleiste
- Durchsuchen oder suchen Sie (WordPress, Nginx, MySQL, Redis usw.)
- Klicken Sie auf das Template
- Konfigurieren Sie die Einstellungen (Name, Ports, Volumes)
- Klicken Sie auf Deploy the container
Beliebte Templates:
- WordPress — Blog/CMS mit MySQL
- Nginx — Webserver / Reverse Proxy
- PostgreSQL — Datenbankserver
- Redis — Cache / Message Broker
- GitLab CE — Git-Hosting
- Nextcloud — Selbstgehosteter Cloud-Speicher
Bereitstellung mit Docker Compose (Stacks)
Stacks sind Portainers Methode zur Verwaltung von Docker Compose Deployments:
- Gehen Sie zu Stacks → Add Stack
- Benennen Sie Ihren Stack
- Fügen Sie Ihre Docker Compose YAML ein:
services:
app:
image: nginx:alpine
ports:
- "8080:80"
volumes:
- app_data:/usr/share/nginx/html
restart: unless-stopped
volumes:
app_data:
- Klicken Sie auf Deploy the stack
Sie können Compose-Dateien auch aus einem Git-Repository laden — nützlich für GitOps-Workflows.
Einzelnen Container bereitstellen
Für schnelle Einzel-Container:
- Gehen Sie zu Containers → Add Container
- Legen Sie Name und Image fest (z.B.
redis:alpine) - Konfigurieren Sie:
- Port mapping — Host-Port → Container-Port
- Volumes — Persistenter Speicher
- Environment variables — Konfigurationswerte
- Restart policy — Always, on-failure usw.
- Klicken Sie auf Deploy the container
Container verwalten
Container-Aktionen
In der Containers-Liste können Sie:
- Start/Stop/Restart — Container-Zustand steuern
- Logs — Echtzeit-Container-Ausgabe anzeigen
- Console — In den Container einloggen (bash, sh oder benutzerdefiniert)
- Inspect — Vollständige Container-Konfiguration anzeigen
- Stats — CPU, Speicher, Netzwerk, I/O-Diagramme
- Duplicate/Edit — Container-Einstellungen klonen oder ändern
Container-Konsole
Eine der besten Funktionen von Portainer. Sie müssen etwas debuggen?
- Klicken Sie auf den Container → Console
- Wählen Sie die Shell:
/bin/bashoder/bin/sh - Klicken Sie auf Connect
Sie befinden sich im Container. Kein SSH, keine docker exec-Befehle nötig.
Massenoperationen
Wählen Sie mehrere Container aus und:
- Alle ausgewählten stoppen
- Alle ausgewählten starten
- Alle ausgewählten entfernen
- Alle ausgewählten beenden
Nützlich für die gemeinsame Verwaltung zusammengehöriger Dienste.
Images verwalten
Images herunterladen
- Images → Image-Name eingeben (z.B.
node:20-alpine) - Klicken Sie auf Pull the image
- Das Image wird heruntergeladen und ist einsatzbereit
Ungenutzte Images bereinigen
Docker-Images sammeln sich schnell an:
- Images → unused images auswählen
- Alle auswählen → Remove
- Oder verwenden Sie den Prune-Button, um alles Ungenutzte zu bereinigen
Dies entspricht docker image prune -a, ist aber visuell und sicherer.
Volume-Verwaltung
Volumes erstellen
- Volumes → Add Volume
- Benennen Sie es (z.B.
postgres_data) - Klicken Sie auf Create the volume
Volume-Inhalte durchsuchen
Portainer ermöglicht es Ihnen, Dateien innerhalb von Volumes zu durchsuchen — praktisch, um Daten zu überprüfen, ohne sich in Container einloggen zu müssen.
Volumes sichern
Für kritische Daten sichern Sie Ihre Volumes:
docker run --rm \
-v postgres_data:/data \
-v /backup:/backup \
alpine tar czf /backup/postgres-backup.tar.gz -C /data .
Netzwerk-Verwaltung
Netzwerke erstellen
- Networks → Add Network
- Benennen Sie es, wählen Sie den Treiber (
bridge,overlay,macvlan) - Optional Subnetz und Gateway konfigurieren
- Klicken Sie auf Create the network
Container verbinden
Um Container miteinander kommunizieren zu lassen:
- Öffnen Sie das Netzwerk
- Join a container → Container auswählen
- Jetzt können beide Container sich gegenseitig über den Namen erreichen
So verbinden Sie Ihren App-Container mit Ihrem Datenbank-Container, ohne Datenbank-Ports öffentlich freizugeben.
Multi-Server-Verwaltung
Remote-Docker-Hosts hinzufügen
Portainer kann mehrere Server über ein Dashboard verwalten:
Methode 1: Portainer Agent (empfohlen)
Auf dem Remote-Server:
docker run -d \
-p 9001:9001 \
--name portainer_agent \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/docker/volumes:/var/lib/docker/volumes \
portainer/agent:sts
In Portainer:
- Environments → Add Environment
- Wählen Sie Agent
- Geben Sie ein:
remote-server-ip:9001 - Benennen Sie es, klicken Sie auf Connect
Methode 2: Docker API (weniger sicher)
Aktivieren Sie Docker TCP auf dem Remote-Host und verbinden Sie sich direkt. Verwenden Sie dies nur über einen sicheren Tunnel.
Edge Agents
Für Server hinter Firewalls oder NAT:
- Environments → Add Environment → Edge Agent
- Kopieren Sie den generierten Installationsbefehl
- Führen Sie ihn auf dem Remote-Server aus
- Der Agent verbindet sich über Port 8000 zurück
Keine eingehenden Ports auf dem Remote-Server erforderlich.
Benutzerverwaltung
Teams erstellen
- Users → Teams → Add Team
- Benennen Sie das Team (z.B. „Developers”, „Ops”)
Benutzer hinzufügen
- Users → Add User
- Legen Sie Benutzername und Passwort fest
- Weisen Sie einem Team zu
- Rolle festlegen: Administrator oder User
Zugriffskontrolle
Zugriff pro Umgebung und pro Ressource:
- Vollzugriff — Vollständige Kontrolle
- Eingeschränkt — Nur zugewiesene Stacks/Container
- Nur Lesen — Ansehen, aber nicht ändern
So können Sie Entwicklern Zugriff auf die Staging-Umgebung geben, während die Produktion geschützt bleibt.
Portainer mit Docker Compose
Wenn Sie Portainer selbst lieber mit Compose verwalten möchten:
services:
portainer:
image: portainer/portainer-ce:sts
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 als docker-compose.yml und führen Sie aus:
docker compose up -d
Performance-Tipps
1. Swap aktivieren
Bei einem kleinen VPS:
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile swap swap defaults 0 0' >> /etc/fstab
2. Ressourcenlimits festlegen
In Portainer beim Erstellen von Containern:
- Memory limit festlegen (z.B. 512MB für eine Node-App)
- CPU limit festlegen (z.B. 0,5 CPUs)
Verhindert, dass ein einzelner Container alle Ressourcen verbraucht.
3. Regelmäßige Bereinigung
Docker-Bereinigung planen:
# Zum Crontab hinzufügen
0 3 * * 0 docker system prune -af --volumes 2>&1 | logger -t docker-prune
Oder verwenden Sie die integrierte Image-Bereinigung von Portainer.
4. Alpine-Images verwenden
Verwenden Sie nach Möglichkeit alpine-Varianten:
node:20-alpinestattnode:20(50MB vs 350MB)python:3.12-alpinestattpython:3.12nginx:alpinestattnginx
Fehlerbehebung
Portainer-Oberfläche nicht erreichbar
# Prüfen, ob der Container läuft
docker ps | grep portainer
# Logs prüfen
docker logs portainer
# Port überprüfen
ss -tlnp | grep 9443
# Firewall prüfen
ufw status
ufw allow 9443
Container startet nicht
- Logs prüfen: Containers → Container auswählen → Logs
- Häufige Probleme:
- Port bereits belegt → Host-Port ändern
- Volume-Zugriff verweigert → Berechtigungen prüfen
- Image nicht gefunden → Image-Name überprüfen
Stack-Deployment schlägt fehl
- Überprüfen Sie die YAML-Syntax der Compose-Datei
- Stellen Sie sicher, dass alle Images vorhanden und erreichbar sind
- Prüfen Sie Port-Konflikte mit laufenden Containern
- Überprüfen Sie das Deployment-Log in den Stack-Details
Kein Speicherplatz mehr
# Belegung prüfen
df -h
# Docker bereinigen
docker system prune -af --volumes
# Große Images prüfen
docker images --format "{{.Repository}}:{{.Tag}} {{.Size}}" | sort -k2 -h
Portainer im Vergleich zu Alternativen
| Tool | Oberfläche | Komplexität | Am besten geeignet für |
|---|---|---|---|
| Portainer | Web-GUI | Niedrig | Container-Verwaltung |
| Coolify | Web-GUI | Niedrig | App-Deployment (PaaS) |
| Dokploy | Web-GUI | Niedrig | App-Deployment (PaaS) |
| Yacht | Web-GUI | Niedrig | Einfache Docker-Oberfläche |
| Dockge | Web-GUI | Niedrig | Reine Compose-Verwaltung |
| Lazydocker | Terminal | Niedrig | CLI-basiertes Monitoring |
Portainer ist die beste Allzweck-Docker-Verwaltungsoberfläche. Verwenden Sie Coolify oder Dokploy, wenn Sie PaaS-Funktionen (Git-Deploy, Auto-SSL) wünschen. Verwenden Sie Portainer, wenn Sie volle Kontrolle über einzelne Container möchten.
FAQ
Wie viel RAM verbraucht Portainer?
Etwa 50-100MB. Es ist sehr ressourcenschonend.
Kann ich Docker Swarm mit Portainer verwalten?
Ja. Portainer unterstützt Docker Standalone, Docker Swarm und Kubernetes.
Ist Portainer CE wirklich kostenlos?
Ja, dauerhaft kostenlos für bis zu 5 Umgebungen. Keine Funktionseinschränkungen innerhalb von CE.
Wie aktualisiere ich Portainer?
docker stop portainer
docker rm portainer
docker pull portainer/portainer-ce:sts
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:sts
Ihre Daten bleiben im portainer_data-Volume erhalten.
Kann Portainer Kubernetes ersetzen?
Für kleine bis mittlere Deployments, ja. Wenn Sie weniger als 50 Container auf einigen Servern betreiben, ist Portainer mit Docker einfacher und günstiger als Kubernetes.
Zusammenfassung
Portainer verwandelt die Docker-Verwaltung von einer reinen CLI-Erfahrung in etwas Visuelles und Zugängliches. Ob Sie einige Container auf einem einzelnen VPS betreiben oder mehrere Server verwalten — Sie erhalten ein übersichtliches Dashboard ohne die Komplexität von Kubernetes.
Empfohlenes Setup:
| Komponente | Auswahl | Kosten |
|---|---|---|
| VPS | Hostinger KVM1 | $4,99/Monat |
| Verwaltung | Portainer CE | Kostenlos |
| Reverse Proxy | Caddy | Kostenlos |
| Gesamt | $4,99/Monat |
Starten Sie hier: Holen Sie sich einen Hostinger VPS → Installieren Sie Docker → Stellen Sie Portainer bereit → Verwalten Sie alles über Ihren Browser.
Ready to get started?
Get the best VPS hosting deal today. Hostinger offers 4GB RAM VPS starting at just $4.99/mo.
Get Hostinger VPS — $4.99/mo// up to 75% off + free domain included
// related topics
// related guides
$1 VPS Hosting 2026: Cheapest VPS Servers Starting at $1/Month
Looking for $1 VPS hosting? Compare the cheapest VPS providers starting from $1-3/month. Real specs, no hidden fees, honest reviews of budget VPS options.
tutorialCaddy Reverse Proxy Guide 2026: Automatic HTTPS Made Easy
Set up Caddy as a reverse proxy with automatic HTTPS, zero-config SSL, and simple Caddyfile syntax. Complete VPS deployment guide.
tutorialCloudflare Tunnel VPS Guide 2026: Expose Services Without Opening Ports
Set up Cloudflare Tunnel on your VPS to expose web apps securely without opening ports or revealing your server IP. Complete guide with Docker and DNS config.
tutorialCoolify VPS Setup Guide 2026: Self-Hosted Vercel Alternative
Deploy Coolify on your VPS for a self-hosted Vercel/Netlify experience. Complete setup guide with Docker, SSL, and app deployments.
Andrius Putna
I am Andrius Putna. Geek. Since early 2000 in love tinkering with web technologies. Now AI. Bridging business and technology to drive meaningful impact. Combining expertise in customer experience, technology, and business strategy to deliver valuable insights. Father, open-source contributor, investor, 2xIronman, MBA graduate.
// last updated: March 13, 2026. Disclosure: This article may contain affiliate links.