So stellen Sie Node.js mit Docker bereit

So stellen Sie Node.js mit Docker bereit

Vorwort

Node wird als mittlere Schicht im Projekt verwendet und Docker wird zum Bereitstellen von Node verwendet. Die wichtigsten Punkte und Schritte der Bereitstellung werden hier zusammengefasst und aufgezeichnet. Ich werde nicht näher auf die Einführung und Installation von Docker eingehen. Es gibt auch viele zugehörige Tutorials und Artikel im Internet. Sie können sie bei Bedarf durchsuchen und anzeigen.

Projektstruktur

`-- Docker-Knoten
  |-- Daten
  |-- Server
    |-- app.js
    |-- Docker-Datei
    |-- Prozess.yml
    |-- Paket.json
  |-- docker-compose.yml

1. Erstellen Sie ein Node.js-Programm

app.js

const express = erfordern('express');
const app = express();

app.get('/', (req, res) => res.send('Hallo Welt!'));

app.listen(3008);

2. Erstellen Sie ein Dockerfile

VON Knoten:8.9-Alpine

RUN mkdir -p /usr/src/app

ARBEITSVERZEICHNIS /usr/src/app

Führen Sie npm set registry aus https://registry.npm.taobao.org/

Führen Sie npm install aus 

CMD ["./node_modules/pm2/bin/pm2-docker", "process.yml"]

Aus der Docker-Datei können wir ersehen, dass wir die Node-Anwendung über pm2-docker ausführen. Mit PM2 können wir Dateiänderungen überwachen, um einen Neustart der Anwendung, die Protokollspeicherung und andere Effekte zu erreichen. Hierfür benötigen wir eine Konfigurationsdatei process.yml. Informationen zur entsprechenden Verwendung finden Sie im PM2-Dokument.

prozess.yml

Apps:
 - Skript: „app.js“
  Name: „dokcer-node“
  exec_mode: "Fork"
  Uhr: wahr
  Instanzen: 1
  log_date_format: "JJJJ-MM-TT HH:mm Z"
  ignore_watch: ['Knotenmodule']

3. Erstellen Sie docker-compose.yml

In Produktionsumgebungen verwenden wir häufig mehr als einen Container. Wir können mehrere Docker-Container über eine Konfigurationsdatei verwalten und dann Docker-Compose verwenden, um die Anwendung zu starten, zu stoppen und neu zu starten.

docker-compose.yml

Version: "3.0"
Leistungen:
 Serverknoten:
  Containername: Serverknoten
  bauen: 
   Kontext: ./Server
  Bände:
   - ./server:/usr/src/app
  Häfen:
   - „3008:3008“
  Umfeld:
   - TZ=Asien/Shanghai

 Träger:
  Bild: portainer/portainer:1.11.4
  Containername: Portainer
  exponieren:
   - "9000"
  Häfen:
   - "9000:9000"
  Bände:
   – /var/run/docker.sock:/var/run/docker.sock
   - ./data/portainer:/data
  Umfeld:
   - TZ=Asien/Shanghai

4. Starten Sie den Container

Nachdem die oben genannten Dateien erstellt wurden, führen wir den folgenden Befehl aus, um unser Image zu erstellen und den Container zu starten

$ docker-compose -f docker-compose.yml up -d

5. Testen

1. Greifen Sie auf den lokalen Port 3008 zu

2. Testen Sie die automatische Neustartfunktion des Knotens, wenn sich der Code ändert. Wir ändern „Hallo Welt!“ in „Neustart!!!!“ und aktualisieren die Seite erneut.

3. Verwenden Sie Portainer, um Container zu verwalten. Im Vergleich zur Befehlszeile können wir mit der visuellen Schnittstelle Containerprotokolle, Containerkonfigurationen und -status einfach und schnell anzeigen sowie Container neu starten und löschen. Wir können auf den lokalen Port 9000 (konfiguriert in docker-compese.yml) zugreifen und die Ergebnisse sind wie folgt.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Zusammenfassung der Anwendungspraxis für Docker-Container des Node.js-Dienstes
  • So erstellen Sie eine automatisierte Bereitstellungsumgebung für Docker, Jenkins und Node.js von Grund auf
  • Docker verwendet Dockerfile, um die Node.js-Anwendung zu starten
  • So richten Sie Node.js mit Docker ein
  • Detaillierte Erläuterung der Verwendung von Docker zum Bereitstellen der Node.js-Entwicklungsumgebung unter Windows
  • Detaillierte Schritte zum schnellen Bereitstellen von Node.js-Anwendungen auf Docker
  • So packen Sie Node.js-Webanwendungen in Docker-Container

<<:  Eine elegante Möglichkeit, die Autorisierungsanmeldung für WeChat-Applets zu handhaben

>>:  Detailliertes Tutorial zur Installation von MySQL 5.7.18 unter Linux (CentOS 7) mit YUM

Artikel empfehlen

Beispiel einer Autorisierungsüberprüfungsmethode von Nest.js

Inhaltsverzeichnis 0x0 Einführung 0x1 RBAC-Implem...

Detaillierte Erklärung zu MySQL und Springs Autocommit

1 MySQL Autocommit-Einstellungen MySQL führt stan...

Analyse des Quellcodes des React-Ereignismechanismus

Inhaltsverzeichnis Prinzip Quellcodeanalyse Deleg...

HTML-Auszeichnungssprache - Formular

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...

Implementierung des CSS-Ladeeffekts Pac-Man

emmm, der Name ist nur eine zufällige Vermutung 2...

Vue3 AST Parser-Quellcode-Analyse

Inhaltsverzeichnis 1. Generieren Sie einen abstra...

Eine kurze Analyse der MySQL PHP-Syntax

Schauen wir uns zunächst die grundlegende Syntax ...

So verstehen Sie SELinux unter Linux

Inhaltsverzeichnis 1. Einführung in SELinux 2. Gr...

So positionieren Sie die Kopfzeile mithilfe des CSS-Sticky-Layouts oben

Anwendungsszenarien: Eine der neuen Anforderungen...

So verwenden Sie async und await in JS

Inhaltsverzeichnis 1. asynchron 2. warten: 3. Umf...

Neue Blockbereichsfunktion von JavaScript ES

Inhaltsverzeichnis 1. Was ist Blockbereich? 2. Wa...