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

Zusammenfassung der Grundsätze zum Schreiben von HTML-Seiten für E-Mails

Da HTML-E-Mail keine unabhängige HOST-Seite auf di...

So installieren Sie MySQL über Yum auf CentOS7

1. Überprüfen Sie, ob MySQL installiert ist Yum-L...

Detaillierte Schritte zum Bereitstellen von Microsoft SQL Server mit Docker

Inhaltsverzeichnis 1 Hintergrund 2 Erstellen Sie ...

Zusammenfassung der Blockelemente, Inline-Elemente und variablen Elemente

Blockelement p - Absatz Text vorformatieren Tisch ...

Ein Artikel zum Verständnis von Linux-Festplatten und Festplattenpartitionen

Vorwort Alle Hardwaregeräte im Linux-System werde...

So zeigen Sie die Zeitzone in MySQL an und ändern sie

Heute habe ich festgestellt, dass ein Programm ei...

Dynamischer Sternenhimmel Hintergrund umgesetzt mit CSS3

Ergebnis:Implementierungscode html <link href=...

Shtml Kurzanleitung

Shtml und asp sind ähnlich. In Dateien mit dem Nam...

HTML-Lernhinweise – Detaillierte Erklärung der HTML-Syntax (unbedingt lesen)

1. Was ist die HTML-Auszeichnungssprache? HTML is...

Grafisches Tutorial zur Installation und Konfiguration der MySQL-Version 8.0.24

Dieser Artikel zeichnet die Installations- und Ko...

JavaScript-Flusskontrolle (Verzweigung)

Inhaltsverzeichnis 1. Prozesskontrolle 2. Sequent...

Ursachen und Lösungen für MySQL-Deadlocks

Die Datenbank ist wie das Betriebssystem eine gem...