Zurück zum Blog
Guides

Docker für Ihre Websites: 7 praktische Tipps für Container auf dem eigenen Server

Ein Redis-Cache, ein Queue-Worker, eine kleine interne API neben Ihrer Website — mit Docker wird das auf dem eigenen VPS sauber. Hier sind sieben Gewohnheiten, die ein aufgeräumtes Container-Setup von einem fragilen unterscheiden.

S
ShadowPanel Team
3 Min. Lesezeit

Eine Website zu betreiben hört selten bei PHP und einer Datenbank auf. Früher oder später wollen Sie einen Redis-Cache, einen Queue-Worker, eine kleine interne API oder einen Headless-Dienst direkt daneben. Docker ist der sauberste Weg dafür auf dem eigenen VPS — aber ein paar Gewohnheiten unterscheiden ein aufgeräumtes Setup von einem, das um 3 Uhr morgens ausfällt. Hier sind sieben, die sich lohnen.

1. Ein Netzwerk pro Website, und per Name kommunizieren

Stellen Sie die Container jeder Website in ihr eigenes Docker-Netzwerk und lassen Sie sie sich per Containername (redis:6379) statt über localhost erreichen. Dienste bleiben auffindbar, Portkonflikte zwischen Projekten entfallen, und die Container einer Website können nicht versehentlich mit denen einer anderen sprechen.

2. Veröffentlichen Sie keine unnötigen Ports

Eine Redis-Instanz oder interne API, die nur Ihre App nutzt, sollte nie an einen Host-Port gebunden sein. Erreichen Sie sie stattdessen über das interne Netzwerk. Jeder veröffentlichte Port ist Angriffsfläche — exponieren Sie nur, was die Öffentlichkeit wirklich braucht, in der Regel allein Ihre Web-App.

3. Fixieren Sie Image-Tags — vermeiden Sie :latest

redis:latest heute und redis:latest in drei Monaten können unterschiedliche Hauptversionen sein. Fixieren Sie auf etwas Konkretes wie redis:7-alpine (oder einen Digest), damit ein Rebuild einen Dienst, von dem Sie abhängen, nicht still ändert — oder kaputt macht.

4. Setzen Sie immer eine Restart-Policy

Ohne --restart=unless-stopped lässt ein Server-Neustart Ihre Nebendienste ausgeschaltet, und Ihre App wirft Verbindungsfehler, bis Sie es bemerken. Setzen Sie die Policy einmal, und die Container kommen nach Neustart oder Absturz von selbst zurück.

5. Sehen Sie Docker als Isolation, nicht als Sicherheitsmauer

Container teilen sich den Host-Kernel. Sie sind hervorragend, um Projekte aufgeräumt und Abhängigkeiten getrennt zu halten — aber sie sind keine harte Grenze zwischen nicht vertrauenswürdigen Mandanten. Setzen Sie Speicher- und CPU-Limits, damit ein Container die anderen nicht aushungert, und gehen Sie davon aus, dass ein kompromittierter Container seine Nachbarn unter Druck setzen kann.

6. Wissen, wie man Logs liest

Wenn etwas kaputtgeht, ist docker logs --tail 100 <name> die erste Anlaufstelle. Stellen Sie sicher, dass Ihre Container nach stdout/stderr loggen (die meisten offiziellen Images tun das bereits), damit die Ausgabe tatsächlich erfasst und nicht in einer Datei im Container vergraben wird.

7. Labeln Sie alles

Auf einem Server mit mehreren Websites wird docker ps schnell unübersichtlich. Versehen Sie jeden Container mit der zugehörigen Website (--label site=acme), damit Sie später filtern, prüfen und aufräumen können, ohne zu raten, welcher Container was antreibt.

Der einfache Weg

Jeder Tipp oben ist ein manueller Schritt, den man vergessen oder falsch machen kann. Genau diese Fleißarbeit sollte ein gutes Panel für Sie übernehmen. In ShadowPanel erhält ein Container, den Sie einer Website hinzufügen, automatisch sein eigenes Netzwerk pro Website, ein Website-Label, eine unless-stopped-Restart-Policy und validierte, nicht privilegierte Port-Zuordnungen — aus einer klaren Oberfläche, mit Logs und Start/Stopp/Neustart per Klick. Sie bekommen alle sieben guten Gewohnheiten standardmäßig, ohne ein einziges Flag auswendig zu lernen.

Container sauber betreiben

Kostenlose Stufe — 3 Sites, keine Kreditkarte — und Sie können auf jedem Ubuntu-VPS in etwa zehn Minuten installieren:

curl -fsSL https://shadowpanel.de/install.sh | bash

ShadowPanel kostenlos herunterladen →

Wir verwenden Cookies

Wir verwenden Cookies, um Ihre Erfahrung zu verbessern und Ihre Einstellungen zu speichern. Sie können Ihre Auswahl unten verwalten. Mehr erfahren.

ShadowPanel

Verwalten Sie Ihre Cookie-Einstellungen unten. Essentielle Cookies sind immer aktiv, da sie für den Betrieb der Website erforderlich sind.

Essenziell

Erforderlich für den Betrieb der Website. Dazu gehören Sitzungsauthentifizierung und CSRF-Schutz. Kann nicht deaktiviert werden.

Immer aktiv

Funktional

Speichert Ihre Sprachpräferenz, damit Sie sie nicht bei jedem Besuch erneut auswählen müssen.

Analyse

Hilft uns zu verstehen, wie Besucher die Website nutzen, damit wir sie verbessern können. Es werden keine persönlichen Daten verkauft.

Marketing

Wird von Google Ads verwendet, um Anzeigenkonversionen zu messen und die Kampagnenausrichtung zu verbessern. Es werden keine persönlichen Daten verkauft.