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

Alibaba Cloud Server Ubuntu Konfigurations-Tutorial

Da für den Import benutzerdefinierter Ubuntu-Imag...

Detaillierte Erklärung der Funktionsweise der Node.js-Middleware

Inhaltsverzeichnis Was ist Express-Middleware? Vo...

Tutorial zur Installation von Elasticsearch 7.6.2 in Docker

Docker installieren Sie müssen Docker installiere...

Einige Fragen zu Hyperlinks

<br />Ich freue mich sehr, an dieser Folge d...

Detailliertes Tutorial zur Nginx-Installation

1. Kurze Einführung in Nginx Nginx ist ein kosten...

jQuery Canvas generiert ein Poster mit einem QR-Code

In diesem Artikel wird der spezifische Code zur V...

Vollständige Schritte zum Mounten einer neuen Datenfestplatte in CentOS7

Vorwort Ich habe gerade einen neuen VPS gekauft. ...

Beheben Sie den Fehler während der Verbindungsausnahme in Docker

Wenn Sie Docker zum ersten Mal verwenden, werden ...

Vue.js Leistungsoptimierung N Tipps (es lohnt sich, sie zu sammeln)

Inhaltsverzeichnis Funktionskomponenten Aufteilun...

Implementierung der Docker-Bereitstellung von Django+Mysql+Redis+Gunicorn+Nginx

I. Einleitung Die Docker-Technologie erfreut sich...