Docker auf dem vServer ist eines der vServer-spezifischen Features. Du kannst eigene Anwendungen in Containern laufen lassen, isoliert vom Plesk-Stack — Node.js-APIs, Python-Backends, Custom-Tools. Hier wie’s geht.
Docker-Erweiterung in Plesk
Bei uns ist Docker auf vServers vorinstalliert. In Plesk:
Erweiterungen → Docker.
Du siehst eine Container-Verwaltung mit:
- Liste laufender Container
- Image-Browser (Docker Hub direkt durchsuchbar)
- Volume-Verwaltung
- Network-Konfiguration
- Logs pro Container
Erste Container starten
Beispiel 1: Postgres-Datenbank
Wenn Du eine eigene PostgreSQL für eine spezifische App brauchst (Plesk-Standard ist MariaDB):
- Plesk → Docker → Container hinzufügen
- Image:
postgres:16oder spezifische Version - Container-Name:
mein-postgres - Environment-Variables:
POSTGRES_USER=meineuserPOSTGRES_PASSWORD=<starkes-passwort>POSTGRES_DB=meinedatenbank
- Volume:
/var/lib/postgresql/data→ Plesk-Volume erstellen, persistent - Port:
5432→ wenn Du externen Zugriff willst, mappen auf Server-Port - Erstellen → Container startet
Datenbank läuft, andere Apps können sich verbinden.
Beispiel 2: Node.js-API
Eigene Node-App in Container:
- Image:
node:20-alpine - Working-Dir:
/app - Volume: lokales Code-Verzeichnis →
/app - Command:
node server.js - Port:
3000→<server-port> - Restart-Policy:
unless-stopped
Container startet App, läuft permanent.
Für Production-Setup: eigenes Image bauen mit Dockerfile.
Beispiel 3: Tools wie Portainer
Wenn Du Docker mehr feingranular verwalten willst als in Plesks UI:
- Image:
portainer/portainer-ce - Volume: Docker-Socket →
/var/run/docker.sock - Port:
9443→ externer HTTPS-Zugriff - Container starten
Portainer-UI ist mächtiger als Plesks Docker-Tab. Beide parallel nutzbar.
Domain-Routing zu Containern
Container haben eigene Ports. Damit Endbenutzer per HTTPS auf eine Domain zugreifen, die zu einem Container zeigt:
- Plesk → Domain hinzufügen (z.B.
api.deinedomain.de) - Hosting & DNS → Hosting-Settings → Hosting-Typ: „Reverse Proxy” oder Custom-Konfig
- Reverse-Proxy auf
localhost:3000(Container-Port) - SSL aktivieren (Let’s Encrypt)
Plesk leitet HTTPS-Traffic an die Container-App weiter.
Alternative: Custom-nginx-Config (per Ticket bei uns einrichten).
Docker-Compose
Plesks Docker-Tab unterstützt Multi-Container-Setups eingeschränkt. Für komplexe Compose-Files:
- Per Reseller-SSH:
docker-compose up -d - Plesk erkennt laufende Container und zeigt sie an
Compose-File-Beispiel für Multi-Service-App:
version: '3'
services:
api:
image: myapp:latest
ports:
- "3000:3000"
environment:
DB_HOST: db
db:
image: postgres:16
volumes:
- dbdata:/var/lib/postgresql/data
volumes:
dbdata:
Speichern als docker-compose.yml, dann docker-compose up -d.
Volumes — Persistente Daten
Container sind ephemer — Daten in einem Container sind weg, wenn der Container gelöscht wird. Volumes sind persistent.
In Plesk → Docker → Volumes:
- Neuer Volume: Name, Typ (Plesk-managed)
- Beim Container-Setup: Volume auf Pfad mappen
Volumes liegen im File-System und sind im Backup mit drin.
Networks
Default: alle Container sind in einem Bridge-Network und können sich untereinander erreichen.
Für isolierte Setups: eigene Networks anlegen, Container in einzelne Networks trennen.
Beispiel: Frontend-Container im Public-Network mit Domain-Routing, Backend-Container im Internal-Network ohne externen Zugriff.
Restart-Policies
Wichtig für Production:
- No (Default): Container startet nicht neu nach Crash
- Always: immer neu starten
- Unless-stopped: neu starten, außer Du hast manuell gestoppt
- On-failure: nur bei Fehler-Exit-Code neu starten
Empfehlung: Unless-stopped für Production-Container.
Resource-Limits
Damit ein Container nicht den ganzen Server blockiert:
In Container-Setup → Erweitert:
- CPU-Limit: 1.0 = ein voller Kern
- Memory-Limit: 512m, 1g, etc.
- Memory-Swap-Limit: empfohlen gleich Memory-Limit
Ohne Limits: Container kann theoretisch alle Server-Resourcen nehmen.
Container-Updates
Image-Updates sind manuell:
docker pull image:latest
docker stop mein-container
docker rm mein-container
docker run -d --name mein-container ... image:latest
Mit Plesk-UI: Container stoppen, mit neuem Image neu erstellen.
Tools wie Watchtower (auch als Container) machen Auto-Updates — Vorsicht bei produktiven Containern, lieber kontrolliert.
Backups von Container-Daten
Was ist in unserem Standard-Backup mit drin:
- Volumes auf der File-System-Ebene → ja, kommt im Server-Snapshot mit
- Container-Konfig in Plesk → ja
- Container selbst (image-basiert) → nein, aber Image kann jederzeit neu gepullt werden
Bei Verlust kannst Du Container neu erstellen, Volume aus Backup zurückspielen.
Wichtig: Datenbank-Container brauchen besonderen Backup-Workflow:
- Live-Backup von DB-Files ist riskant (Inkonsistenz)
- Lieber regelmäßigen
pg_dump/mysqldumpals zusätzlichen Container-Job - Oder DB-Container mit konsistenter Snapshot-fähiger Storage
Häufige Use Cases
Eigene API neben WordPress-Sites
Container mit Node.js / Python API, Domain-Routing per Plesk-Reverse-Proxy auf api.domain.de.
Test-Tools für interne Nutzung
Container mit Code-Server (VS Code im Browser), GitLab CI Runner, Jenkins, etc.
Datenbank für spezielle App
Wenn Plesks MariaDB nicht passt: PostgreSQL, MongoDB, Redis als Container.
Monitoring-Stack
Grafana + Prometheus + Loki für Server-Monitoring (zusätzlich zu Plesk’s eigenem Monitoring).
Stolperfallen
Container-Konflikt mit Plesk-Services
Wenn Du Container auf Port 80/443 startest, kollidiert mit Plesk-Webserver. Lösung: Container immer auf abweichende Ports, Plesk macht Reverse-Proxy.
Disk-Space durch Container-Images
Docker-Images können viel Platz verbrauchen. Regelmäßig aufräumen:
docker system prune -a
Achtung: löscht auch ungenutzte Volumes (nur mit --volumes-Flag).
Container-Logs werden riesig
Default loggt Docker in JSON-Files, die wachsen. In Container-Setup oder global Log-Rotation aktivieren:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
Wir können das Server-side Default einstellen — Ticket reicht.
Container hat Internet, kann aber nicht zur Außenwelt
Selten, meist DNS-Problem. In Docker-Konfig DNS-Server explizit setzen (z.B. 8.8.8.8).
Was Du nicht ohne Ticket machen kannst
- Kernel-Module auf dem Host (z.B. für spezielle Container-Features)
- iptables-Regeln Server-weit ändern
- Custom-Daemon auf Host installieren (statt Container)
Solche Aufgaben: Ticket bei uns. Mehr in Anpassungen per Ticket.
Häufige Fragen
Brauche ich Docker-Vorkenntnisse? Etwas hilft. Plesks Docker-UI ist anfängerfreundlich, aber Konzepte (Image, Container, Volume, Network) musst Du kennen. Bei Bedarf: Online-Tutorials oder Docker’s eigene Doku.
Docker-Compose-Files importieren? Plesks UI: eingeschränkt. Per SSH und CLI: voll möglich.
Performance von Container vs. nativer Plesk-PHP? Container haben minimalen Overhead (1-3% bei modernen Linux). Für meiste Workloads irrelevant.
Können Endkunden Docker nutzen? Wenn Du im Service-Plan Docker-Berechtigung aktivierst: ja. Vorsicht: Endkunden-Container können Server-Last erhöhen.
Docker-Hub-Pulls werden langsam — was tun? Manchmal Rate-Limits von Docker. Lösung: Docker-Hub-Account einrichten (kostenlos) und in Plesk-Docker-Settings angeben.
Kann ich Docker-Engine selbst updaten? Nein. Docker-Engine ist OS-Komponente, machen wir auf Wunsch per Ticket.
Mein Container braucht spezielle Linux-Capabilities — geht das?
Manche Capabilities (z.B. SYS_ADMIN) sind aus Sicherheitsgründen restricted. Bei Bedarf: Ticket bei uns, wir prüfen.
Multi-Server-Docker-Swarm — möglich? Single-Server-Docker ist Standard. Swarm-Setup auf Anfrage — Custom-Setup, schreib uns.
Kubernetes — geht das auch? Theoretisch ja, K3s/MicroK8s passt auf einen vServer. Praktisch: erfordert mehr Resourcen, anderen Admin-Workflow. Wir helfen bei Setup, wenn Du das wirklich willst.
Weiter geht’s
Erste Anmeldung am Plesk vServer
Was Du nach der Bestellung bekommst, wie der Reseller-Login aussieht, wer was darf. Das Modell verstehen, bevor Du loslegst.
Was anders ist als beim Shared-Reseller
Plesk vServer hat einige Vorteile gegenüber dem Shared-Reseller-Tarif: dedizierte Resourcen, Docker, Plesk Migrator. Wann sich der Wechsel lohnt.
Service-Pläne und Endkunden auf dem vServer
Endkunden-Verwaltung auf dem dedizierten vServer. Wie sich's vom Shared-Reseller unterscheidet, welche Quotas sinnvoll sind, Bulk-Workflows.
Plesk Migrator nutzen
Saubere Server-zu-Server-Migration mit dem Plesk-Migrator. Quell-Server angeben, Daten kommen rüber. Single-Site oder Massen-Migration.