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:
|
<<: 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
Da HTML-E-Mail keine unabhängige HOST-Seite auf di...
1. Überprüfen Sie, ob MySQL installiert ist Yum-L...
Inhaltsverzeichnis 1 Hintergrund 2 Erstellen Sie ...
Blockelement p - Absatz Text vorformatieren Tisch ...
Vorwort Alle Hardwaregeräte im Linux-System werde...
Heute habe ich festgestellt, dass ein Programm ei...
Symptom Ich habe eine Crontab-Aufgabe auf einem C...
Ergebnis:Implementierungscode html <link href=...
Shtml und asp sind ähnlich. In Dateien mit dem Nam...
Inhaltsverzeichnis 1. Was für eine Art von Backup...
Keepalived+Nginx+Tomcat zur Erzielung eines hochv...
1. Was ist die HTML-Auszeichnungssprache? HTML is...
Dieser Artikel zeichnet die Installations- und Ko...
Inhaltsverzeichnis 1. Prozesskontrolle 2. Sequent...
Die Datenbank ist wie das Betriebssystem eine gem...