Von Shared Hosting zu Docker: Warum Agenturen jetzt umsteigen sollten
Shared Hosting war jahrelang der Standard für Webagenturen: schnell eingerichtet, günstig, keine Serveradministration nötig. Aber mit wachsenden Anforderungen — Performance, Sicherheit, Reproduzierbarkeit — stoßen Shared-Hosting-Umgebungen an ihre Grenzen. Docker auf einem eigenen VPS bietet die Kontrolle eines dedizierten Servers zum Preis eines besseren Shared-Hosting-Pakets.
In diesem Artikel zeigen wir den konkreten Migrationspfad, Kostenvergleich und typische Stolpersteine. Wenn Sie sich für die Kostenseite von Self-Hosting interessieren, empfehlen wir unseren Artikel über die wahren Kosten.
Warum Shared Hosting nicht mehr reicht
Performance
VPS-hosted Sites laden 15–35 % schneller als der gleiche Code auf Shared Hosting. Die Ursache: geteilte Ressourcen.
| Metrik | Shared Hosting | Docker/VPS |
|---|---|---|
| TTFB | 1.000+ ms unter Last | Unter 400 ms konsistent |
| DB-Queries | Geteilter MySQL-Server | Dedizierter Container auf SSD/NVMe |
| Container-Start | N/A | Bis zu 10x schneller auf NVMe |
| Noisy Neighbors | Ja — andere Kunden bremsen | Nein — isolierte Container |
Isolation und Sicherheit
Auf Shared Hosting teilen sich Hunderte Kunden denselben Server. Ein kompromittierter Account kann andere gefährden. Docker nutzt Linux-Kernel-Namespaces und cgroups für harte CPU/RAM-Limits pro Container — unmöglich auf Shared Hosting.
Reproduzierbarkeit
Ein docker compose up gibt jedem Entwickler eine identische Umgebung. Keine manuellen LAMP-Setups, keine PHP-Versionskonflikte, keine fehlenden Extensions. Dieselben Container gehen auf Staging und Produktion.
Kostenvergleich (2026)
| Tier | Shared Hosting | VPS (unmanaged) | VPS (managed) |
|---|---|---|---|
| Einstieg | 2–10 EUR/Monat | 3,50–15 EUR/Monat | 18–35 EUR/Monat |
| Mittelklasse | 10–25 EUR/Monat | 15–40 EUR/Monat | 35–80 EUR/Monat |
Ein Hetzner Cloud CX22 (2 vCPU, 4 GB RAM) kostet ca. 5,49 EUR/Monat — genug für 5–10 WordPress-Sites in Docker-Containern.
Break-even für Agenturen
Wenn Sie 10+ Kundensites auf Shared Hosting betreiben (je 5–10 EUR = 50–100 EUR/Monat), konsolidiert ein einzelner VPS für 20–30 EUR/Monat alles — 50–70 % Ersparnis bei besserer Performance. Ein Ingenieur kann mit Docker + Traefik + Portainer ca. 30 WordPress-Sites verwalten.
Der Migrationspfad
Schritt 1: VPS bereitstellen
Empfohlene Anbieter mit deutschen Rechenzentren:
- Hetzner Cloud: Ab 3,49 EUR/Monat, exzellentes Preis-Leistungs-Verhältnis
- Netcup: Ab 3,99 EUR/Monat, gutes Netzwerk
- IONOS: Ab 4 EUR/Monat, deutscher Support
Betriebssystem: Ubuntu 24.04 LTS oder Debian 12.
Schritt 2: Docker + Traefik installieren
# Docker installieren
curl -fsSL https://get.docker.com | sh
# Docker-Netzwerk für Traefik erstellen
docker network create traefik-proxy
# Traefik als Reverse Proxy starten (siehe unseren Traefik-Artikel)
Traefik übernimmt das Routing, SSL-Terminierung und automatische Let’s-Encrypt-Zertifikate. Details in unserem Traefik-v3-Artikel.
Schritt 3: PHP-App containerisieren
Für eine typische PHP-Anwendung (WordPress, Laravel, Symfony):
FROM php:8.3-fpm-alpine
# PHP-Extensions installieren
RUN docker-php-ext-install mysqli pdo pdo_mysql opcache
# Produktions-php.ini verwenden
RUN cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini
# App-Code kopieren
COPY . /var/www/html
RUN chown -R www-data:www-data /var/www/html
Für WordPress gibt es fertige offizielle Images — kein eigenes Dockerfile nötig:
services:
wordpress:
image: wordpress:6.7-php8.3-fpm
environment:
- WORDPRESS_DB_HOST=db
- WORDPRESS_DB_USER=wordpress
- WORDPRESS_DB_PASSWORD=${DB_PASSWORD}
volumes:
- wp-data:/var/www/html
labels:
- traefik.enable=true
- traefik.http.routers.wp.rule=Host(`kunde-a.de`)
- traefik.http.routers.wp.tls.certresolver=letsencrypt
networks:
- traefik-proxy
- wp-internal
db:
image: mariadb:10.11
environment:
- MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD}
- MYSQL_DATABASE=wordpress
- MYSQL_USER=wordpress
- MYSQL_PASSWORD=${DB_PASSWORD}
volumes:
- db-data:/var/lib/mysql
networks:
- wp-internal
Schritt 4: Daten migrieren
- Dateien:
rsyncoderscpvom Shared-Hosting-Server - Datenbank:
mysqldumpexportieren, in den neuen Container importieren - DNS: A-Record auf die neue Server-IP umstellen
- E-Mail: MX-Records prüfen — wenn der Shared-Hoster auch E-Mail bereitstellt, muss das separat gelöst werden
# Datenbank exportieren (vom Shared-Hosting)
mysqldump -u user -p database > backup.sql
# In den neuen Container importieren
docker exec -i db mysql -u wordpress -p wordpress < backup.sql
Schritt 5: Mehrere Sites konsolidieren
Der große Vorteil von Docker: Jede Kundensite läuft in ihrem eigenen Container-Stack mit eigener Datenbank, eigenem PHP und eigenen Volumes. Traefik routet anhand der Domain automatisch an den richtigen Container.
# Kunde A
wp-kunde-a/docker-compose.yml → Host(`kunde-a.de`)
# Kunde B
wp-kunde-b/docker-compose.yml → Host(`kunde-b.de`)
# Kunde C
wp-kunde-c/docker-compose.yml → Host(`kunde-c.de`)
Typische Stolpersteine
E-Mail-Versand
Shared Hosting bietet oft integrierten E-Mail-Versand. Auf einem VPS müssen Sie einen SMTP-Dienst konfigurieren (z. B. Mailcow, Postfix, oder einen externen Provider wie Mailgun). Mehr dazu in unserem Mailcow-Artikel.
Cronjobs
Shared-Hosting-Cronjobs müssen in Docker-Container übersetzt werden. Nutzen Sie cron im Container oder einen separaten Cron-Container wie ofelia.
File Permissions
Docker-Container laufen oft als root (UID 0), während Dateien auf dem Host einem anderen User gehören. Setzen Sie user: "1000:1000" im Compose-File oder passen Sie die Berechtigungen im Dockerfile an.
Backups
Shared Hosting bietet meist automatische Backups. Auf dem eigenen VPS sind Sie verantwortlich. Richten Sie von Anfang an eine Backup-Strategie ein — unsere Anleitung für Docker-Backups hilft.
Checkliste: Migration von Shared zu Docker
| Schritt | Status |
|---|---|
| VPS bestellt und eingerichtet | ☐ |
| Docker + Docker Compose installiert | ☐ |
| Traefik als Reverse Proxy konfiguriert | ☐ |
| Server gehärtet (SSH, Firewall, Updates) | ☐ |
| Docker-Compose für jede Site erstellt | ☐ |
| Datenbank exportiert und importiert | ☐ |
| Dateien migriert | ☐ |
| SSL-Zertifikate via Traefik aktiv | ☐ |
| DNS umgestellt | ☐ |
| E-Mail-Versand getestet | ☐ |
| Backup-Strategie eingerichtet | ☐ |
| Monitoring aktiviert | ☐ |
Managed Migration: Wir übernehmen den Umzug
Die Migration von Shared Hosting zu Docker erfordert Know-how in Linux-Administration, Docker, Traefik und Netzwerken. Bei netzspitze.tech übernehmen wir den kompletten Umzug:
- Server-Setup und Härtung
- Docker + Traefik-Konfiguration
- Migration aller Sites mit Datenbank und Dateien
- DNS-Umstellung mit minimaler Downtime
- E-Mail-Lösung (Mailcow oder externer SMTP)
- Monitoring und Backup ab Tag 1
Jetzt Beratungstermin buchen — wir machen Ihre Infrastruktur zukunftssicher.