Einführung in Node.js, Folge 16: Node.js und Docker

the next big thing  –  2 Kommentare
Anzeige

Für das Deployment einer in Node.js entwickelten Anwendung gilt es, verschiedene Herausforderungen zu meistern. Eine der wichtigsten Aspekte ist das Erstellen einer auf Tastendruck reproduzierbaren Installation. Die Container-Plattform Docker kann helfen, das Ziel zu erreichen.

Wer eine Anwendung deployen will, muss das Zielsystem entsprechend vorbereiten. Dazu zählen die Installation der Laufzeitumgebung und der verschiedenen Abhängigkeiten, das Kopieren des eigentlichen Codes und das Ausführen und Überwachen der Anwendung. Im Idealfall erfolgt das alles automatisiert, sodass sich eine Installation im Fall des Falles identisch reproduzieren lässt.

Anzeige

Es liegt nahe, dazu auf den Einsatz einer virtuellen Maschine zurückzugreifen. Doch leider erweisen sie sich in der Regel als zu groß und unhandlich.

Docker ermöglicht das Erstellen und Ausführen von leichtgewichtigen Containern. Ein solcher Container ist dabei nichts anderes als ein Archiv, das alle Dateien und Verzeichnisse enthält, die für den Betrieb einer Anwendung erforderlich sind – mit Ausnahme des Kernels des Betriebssystems.

Das Erstellen eines Containers erfolgt automatisiert anhand eines Skripts, das in einem sogenannten Dockerfile definiert wird. Allerdings ist dabei einiges zu beachten, wenn die erzeugten Container nur einige wenige MByte umfassen sollen.

Besonders ist die Möglichkeit, einen solchen Container anschließend auf einer beliebigen Docker-Umgebung auszuführen, beispielsweise auf AWS, Digital Ocean oder VMware. In dem Zusammenhang ist das in Docker integrierte Werkzeug docker-machine ausgesprochen praktisch, mit dem sich virtuelle Maschinen erzeugen und bestücken lassen.

Wie Node.js in Verbindung mit Docker funktioniert, zeigt das folgende Video:

Einführung in Node.js, Folge 16: Node.js und Docker

Weitergehende Informationen zu Docker finden sich unter anderem bei Microsoft im Channel 9 TechTalk: Episode 32 und als Aufzeichnung von der Techs'R'Us-Konferenz.

tl;dr: Die Container-Plattform Docker lässt sich hervorragend verwenden, um Node.js-basierte Anwendungen zu deployen. Das funktioniert mit allen Plattformen, die Docker unterstützen, unter anderem AWS, Digital Ocean und VMware.

Anzeige