Statische Seiten mit nginx im Docker
Mit nginx kannst du sehr effizient statische Webseiten (HTML, CSS, JavaScript) direkt aus einem Docker-Container bereitstellen. Das ist besonders praktisch für gebaute Frontends wie React-Apps oder einfache Webseiten, die nicht auf Node.js angewiesen sind.
Grundprinzip
Abschnitt betitelt „Grundprinzip“- Das offizielle nginx-Image erwartet die zu servierenden Dateien im Ordner
/usr/share/nginx/htmlim Container. - Du kannst entweder lokale Dateien beim Containerstart einbinden (Volume-Mount) oder die statische Seite direkt in ein eigenes Image kopieren.
Beispiel 1: Lokale Dateien einbinden (Development)
Abschnitt betitelt „Beispiel 1: Lokale Dateien einbinden (Development)“docker run --name mein-nginx -p 8080:80 -v $(pwd)/public:/usr/share/nginx/html:ro nginx- Das lokale Verzeichnis
publicwird im Container bereitgestellt (read-only). - Aufruf im Browser: http://localhost:8080
Beispiel 2: Eigene statische Seite ins Image bauen
Abschnitt betitelt „Beispiel 2: Eigene statische Seite ins Image bauen“FROM nginx:alpineCOPY ./public /usr/share/nginx/htmlEXPOSE 80- Die Seite wird fest in das Image eingebaut.
Konfiguration anpassen (optional)
Abschnitt betitelt „Konfiguration anpassen (optional)“Durch eine eigene nginx-Konfigurationsdatei (nginx.conf) kannst du z.B. Weiterleitungen, Caching oder spezielle Fehlerseiten steuern.
Diese Datei kann beim Build übergeben oder beim Run gemountet werden.
Aufgabe
Abschnitt betitelt „Aufgabe“Im nächsten Kapitel wird gezeigt, wie Volumes genutzt werden, um Daten in Datenbank-Containern wie MongoDB dauerhaft zu speichern.
Danke für Ihr Feedback!