Nehmen wir zum Beispiel an, Sie möchten keinen Knoten installieren.JS auf Ihrem Computer und möchten dennoch einen Knoten entwickeln.JS -Anwendungen oder testen Sie eine vorhandene. In diesem Fall können Sie einfach einen Knoten verwenden.JS Docker -Container.
Ein weiteres Beispiel ist, wo Sie Ihren Knoten testen müssen.JS -Anwendung auf verschiedenen Versionen des Knotens.JS. In diesem Fall können Sie einen anderen Knoten verwenden.JS Docker Container mit einer anderen Version des Knotens.JS installiert, um Ihre Anwendung zu testen.
In diesem Artikel werde ich Ihnen zeigen, wie man einen Knoten einrichtet.JS -Entwicklungsumgebung mit Docker. Also lasst uns anfangen.
Einrichten des Projektverzeichnisses:
In diesem Abschnitt werde ich einen meiner Knoten klonen.JS -API -App von Github zu meinem ~/Projekte/ Verzeichnis nur zum Testen des Docker -Knotens.JS -Entwicklungsumgebung Ich werde Ihnen zeigen, wie Sie einrichten können. Dies ist nicht erforderlich. Sie können immer Ihren eigenen Knoten verwenden.JS -App, wenn Sie möchten.
Zuerst werde ich zu meinem navigieren ~/Projekte/ Verzeichnis wie folgt:
$ cd ~/projects/
Jetzt werde ich meine klonen Shovon8/Angular-HERO-API Github Repository wie folgt:
$ git klone https: // github.com/shovon8/Angular-HERO-API
Die Projektdateien sind in der Angular-HERO-API/ Verzeichnis, wie Sie im Screenshot unten sehen können.
Knoten.JS Docker Bilder:
Es gibt offizielle Containerbilder für eine andere Version des Knotens.JS auf der verschiedenen Linux -Verteilung auf DockerHub aufgebaut. Besuchen Sie https: // Hub.Docker.com/_/node/aus Ihrem Lieblingsbrowser, um den Knoten zu finden.JS -Bild, das Sie brauchen. Wie Sie sehen können, der Tag -Name für den gesamten Knoten.JS -Bilder sind auf der DockerHub -Seite des Knotens aufgeführt.JS. Sie können entweder Debian Jessie/Stretch, Alpine, Chakracore Linux Distribution -basierte Bilder für verschiedene Versionen des Knotens verwenden.JS.
Normalerweise müssen Sie nicht viel wissen, um einen Knoten zu verwenden.JS Docker Bild. Wenn Sie den Knoten verwenden möchten.JS Version 12, dann müssen Sie nur schreiben, ist zu schreiben Knoten: 12 Wenn Sie einen Behälter machen. Für Knoten.Js 10 ist es Knoten: 10. Für Knoten.Js 8, ist es Knoten: 8. Es ist so einfach.
Konfigurieren des Knotens.JS -Entwicklungsumgebung:
In diesem Abschnitt konfiguriere ich Linux -Befehlsaliase für meinen Knoten.JS API App. Auf diese Weise kann ich problemlos jede Version des Knotens verwenden.JS Ich möchte meine App ausführen.
In jedem meiner Knoten.JS -Projektverzeichnis, ich erstelle eine neue Datei Quelle. In dieser Datei werde ich die Kommando -Aliase so behalten Node12 für Knoten.JS 12 Laufzeit, Node10 für Knoten.JS 10 Laufzeit, Node8 für Knoten.JS 8 Laufzeit auf Docker läuft. Sie können dasselbe wiederverwenden Quelle Datei mit geringfügiger Änderung auf Ihrem anderen Knoten.JS -Projekte auch.
Navigieren Sie zunächst wie folgt zu Ihrem Projektverzeichnis:
$ CD Angular-HERO-API/
Erstellen Sie jetzt eine Quelle Datei mit dem folgenden Befehl:
$ nano Quelle
Geben Sie nun die folgenden Zeilen in der Quelldatei ein.
alias node12 = 'docker run -it - -rm -name helden -api -p 4242: 4242 -v
"$ Pwd:/usr/src/App" -W/usr/src/App Knoten: 12 '
alias node10 = 'docker run -it - -rm -name helden -api -p 4242: 4242 -v
"$ Pwd:/usr/src/App" -W/usr/src/App Knoten: 10 '
alias node8 = 'docker run -it - -rm -name helden -api -p 4242: 4242 -v
"$ Pwd:/usr/src/App" -W/usr/src/App Knoten: 8 '
Hier, -Es Führen Sie den Container im interaktiven Modus aus.
-rm bedeutet den Behälter automatisch, wenn er nicht mehr benötigt wird.
-Name Helden-API definiert einen Namen für den Container.
-P 4242: 4242 bedeutet den Containerport 4242 wird an den Zielport weitergeleitet (auf Ihrem Computer) 4242. Das Format dieser Option ist -p Ziel: Quelle. Denken Sie daran, der erste Hafen vor dem Dickdarm (:) ist der Zielport. Wenn Sie auf Ihrer Anwendung auf einem anderen Port als 4242 auf Ihrem Computer zugreifen möchten, müssen Sie den Zielport ändern. Wenn Ihre Anwendungen auf einem anderen Port als 4242 ausgeführt werden. Dann müssen Sie den Quellport ändern.
NOTIZ: Da ich gleichzeitig einen der Behälter benutze, die Name Und Zielhafen Kann gleich sein. Wenn Sie Ihren Knoten ausführen oder testen möchten.JS -Anwendung auf mehreren Knoten.JS -Version gleichzeitig, dann stellen Sie sicher, dass die Name Und Zielhafen unterscheidet sich für jeden der Container in der Quelldatei.
Sobald Sie fertig sind, speichern Sie die Datei durch Drücken + X gefolgt von y Und .
Aktivieren Sie nun die Aliase mit dem folgenden Befehl:
$ Quelle Quelle
Jetzt können Sie jede Version der Knoten -Laufzeit ausführen, wann immer Sie es brauchen mit Node12, Node10, Node8 Befehle, wie Sie im Screenshot unten sehen können.
Laufen Held -API -Knoten.JS -App:
Lassen Sie uns nun sehen, wie man das ausführt Angular-HERO-API App aus meinem Github -Repository mit diesem Setup. Ich werde den Knoten verwenden.JS 12 Laufzeit zuerst, dann gehen Sie für den Knoten.JS 10 und Knoten.JS 8 Laufzeit, um Ihnen zu zeigen, dass es in jeder der Versionen funktioniert.
Die API -App hat keine Knotenmodule installiert. Sie müssen also alle erforderlichen Knotenmodule installieren NPM Installation Befehl wie folgt:
$ node12 npm installieren
Die Knotenmodule sind so installiert, wie Sie im folgenden Screenshot sehen können.
Führen Sie nun den Knoten aus.JS API -App wie folgt:
$ node12 npm reiten test
Wie Sie sehen können, wird der API -Server auf Port 4242 im Container ausgeführt. Ich habe den Port auch auf 4242 auf meinem Computer weitergeleitet. Ich sollte also in Port 4242 darauf zugreifen können.
Ja, ich kann darauf zugreifen. Es funktioniert wie erwartet.
Stoppen Sie nun den Behälter, indem Sie drücken + C.
Versuchen wir, die API -App mit dem Knoten auszuführen.JS Version 10.
$ node10 NPM Führen Sie Test aus
Wie Sie sehen können, läuft es.
Es funktioniert für den Knoten.Js 10 auch.
Schließlich versuchen wir es für den Knoten.JS Version 8.
$ node8 npm rennen test
Die API -App wird auf dem Knoten ausgeführt.JS 8 Laufzeit auch.
Perfekt! Es funktioniert richtig.
So richten Sie den Knoten ein.JS -Entwicklungsumgebung mit Docker. Danke, dass du diesen Artikel gelesen hast.