RSS DEV-Gemeinschaft

Wie man SvelteKit in Docker containerisiert

Dieser Leitfaden bietet einen Schritt-für-Schritt-Prozess zur Containerisierung einer SvelteKit-Anwendung mit Docker, wodurch die Bereitstellung und Verwaltung erleichtert wird. Um zu beginnen, müssen Sie ein SvelteKit-Projekt einrichten und den adapter-node installieren, der hilft, die Website für Node.js zu erstellen. Der adapter-node ist für die Containerisierung entscheidend und kann durch Ausführen des Befehls `npm i -D @sveltejs/adapter-node` installiert werden. Sobald er installiert ist, müssen Sie die Datei `svelte.config.js` aktualisieren, um den adapter-node zu verwenden. Als nächstes müssen Sie eine Docker-Datei erstellen, die Docker anweist, wie Ihre SvelteKit-Anwendung erstellt und ausgeführt werden soll. Die Docker-Datei besteht aus zwei Stufen: der Builder-Stufe und der finalen Stufe. Die Builder-Stufe installiert Abhängigkeiten, erstellt die SvelteKit-App und entfernt Abhängigkeiten, die nicht für die Produktion erforderlich sind. Die finale Stufe kopiert die erstellte App, die Produktions-Node-Module und die `package.json`-Datei aus der Builder-Stufe, legt den Port 3000 fest, setzt die Umgebung auf Produktion und gibt den Befehl an, um die App auszuführen. Um den Docker-Build-Kontext sauber zu halten und den Build-Prozess zu beschleunigen, müssen Sie eine `.dockerignore`-Datei im Projektstamm erstellen. Die Verwendung eines Multi-Stage-Builds hilft, das finale Bild klein zu halten, indem unnötige Dateien und Tools nach dem Build-Prozess entfernt werden. Sie können Ihr Docker-Image durch Ausführen des Befehls `docker build -t my-sveltekit-app` erstellen und dann Ihre containerisierte App mit `docker run -p 3000:3000 my-sveltekit-app` ausführen. Die Verwaltung von Umgebungsvariablen in Docker ist wichtig, und SvelteKit bietet vier Möglichkeiten, Umgebungsvariablen zu importieren. Wenn Sie Ihre App bereitstellen, müssen Sie sich an die Plattform-Dokumentation wenden, um Build-Zeit- und Laufzeit-Umgebungsvariablen zu verwalten. Darüber hinaus müssen Sie die ORIGIN-Umgebungsvariable korrekt setzen, um Fehler bei der POST-Formularübermittlung zwischen verschiedenen Websites zu vermeiden. Schließlich bietet der Leitfaden einige Produktions-Tipps, darunter das Hinzufügen eines `/health`-Endpunkts zu Ihrer App, das Festlegen von Node.js-Speicherlimits und das regelmäßige Scannen Ihres Containers auf Sicherheitslücken. Durch Befolgen dieser Schritte können Sie eine containerisierte SvelteKit-Anwendung erstellen, die für die Produktion optimiert ist.
favicon
dev.to
How to Dockerize SvelteKit
Bild zum Artikel: Wie man SvelteKit in Docker containerisiert
Create attached notes ...