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

Was ist ein MySQL-Index? Fragen Sie, wenn Sie es nicht verstehen

Inhaltsverzeichnis Überblick Vom Binärbaum zum B+...

Implementierung von Docker zum Erstellen eines Zookeeper- und Kafka-Clusters

Ich habe vor Kurzem Kafka gelernt. Als ich mich d...

Beispiel für die Mosaikierung eines Bildes mit js

Dieser Artikel stellt hauptsächlich ein Beispiel ...

Zabbix-Überwachungslösung – die neueste offizielle Version 4.4 [empfohlen]

Zabbix 12.10.2019 Chenxin siehe https://www.zabbi...

CSS Clear Float Clear:Both Beispielcode

Heute werde ich mit Ihnen über das Löschen von Fl...

Beispielcode zum Konvertieren von HTML-Tabellendaten in das JSON-Format

Die Javascript-Funktion zum Konvertieren von <t...

jQuery implementiert einen Zeitselektor

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erläuterung des Befehls zum Bereinigen des MySQL-Datenbank-Binlogs

Überblick Heute werde ich hauptsächlich erklären,...

Grundlegender Installationsprozess von mysql5.7.19 unter winx64 (Details)

1. Herunterladen https://dev.mysql.com/downloads/...

So prüfen Sie, ob Daten vorhanden sind, bevor Sie sie in MySQL einfügen

Geschäftsszenario: Der Besuchsstatus des Besucher...

Erläuterung verschiedener Möglichkeiten zum Ausführen von Tomcat unter Linux

Tomcat unter Linux starten und herunterfahren Sta...