Heim > Web-Frontend > js-Tutorial > Detaillierter Prozess der Bereitstellung von Node.js mit Docker

Detaillierter Prozess der Bereitstellung von Node.js mit Docker

不言
Freigeben: 2018-11-26 14:24:09
nach vorne
2463 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine Einführung in den Implementierungscode der PHP-Warteschlange. Ich hoffe, dass er für Freunde hilfreich ist.

Knoten wird als mittlere Ebene im Projekt verwendet, und Docker wird zum Bereitstellen von Knoten verwendet. Hier fassen wir die wichtigsten Punkte und Schritte der Bereitstellung zusammen und zeichnen sie auf Es gibt auch viele verwandte Tutorials und Artikel im Internet, die Sie bei Bedarf selbst durchsuchen und anzeigen können.

Projektstruktur

-- docker-node
  |-- data
  |-- server
    |-- app.js
    |-- Dockerfile
    |-- process.yml
    |-- package.json
  |-- docker-compose.yml
Nach dem Login kopieren

1. Node.js-Programm erstellen

app.js

const express = require('express');
const app = express();
app.get('/', (req, res) => res.send('hello world!'));
Nach dem Login kopieren
app.listen(3008);

2. Docker-Datei erstellen

FROM node:8.9-alpine
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
RUN npm set registry https://registry.npm.taobao.org/
RUN npm install
CMD ["./node_modules/pm2/bin/pm2-docker", "process.yml"]
Nach dem Login kopieren
Aus der Docker-Datei können wir ersehen, dass wir die Knotenanwendung über pm2-docker ausführen. Mit PM2 können wir Dateiänderungen überwachen und Effekte wie Anwendungsneustart und Protokollfreigabe erzielen .yml-Konfigurationsdatei können Sie die PM2-Dokumentation für die entsprechende Verwendung anzeigen.

process.yml

apps:

 - script : 'app.js'
  name  : 'dokcer-node'
  exec_mode: 'fork'
  watch : true
  instances: 1
  log_date_format : 'YYYY-MM-DD HH:mm Z'
  ignore_watch: ['node_modules']
Nach dem Login kopieren

3. Erstellen Sie docker-compose.yml

Wir verwenden es in der Produktion Umgebung Es gibt oft 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"
services:
 server_node:
  container_name: server-node
  build: 
   context: ./server
  volumes:
   - ./server:/usr/src/app
  ports:
   - "3008:3008"
  environment:
   - TZ=Asia/Shanghai

 portainer:
  image: portainer/portainer:1.11.4
  container_name: portainer
  expose:
   - "9000"
  ports:
   - "9000:9000"
  volumes:
   - /var/run/docker.sock:/var/run/docker.sock
   - ./data/portainer:/data
  environment:
   - TZ=Asia/Shanghai
Nach dem Login kopieren

4. Starten Sie den Container

Nachdem die oben genannten Dateien erstellt wurden, führen wir den folgenden Befehl aus Unser Image wird erstellt und der Container wird gestartet

5. Greifen Sie auf den lokalen 3008-Port zu

2. Um die Funktion zum automatischen Knotenneustart zu testen, haben wir „Hallo Welt!“ in „Neustart!!!“ geändert und die Seite erneut aktualisiert >Detaillierter Prozess der Bereitstellung von Node.js mit Docker

3. Mit Portainer können wir im Vergleich zur Befehlszeile Containerprotokolle, Containerkonfigurationen und den Status einfach und schnell anzeigen und Vorgänge ausführen Durch Neustarten und Löschen können wir auf den lokalen Port 9000 zugreifen (konfiguriert in docker-compese.yml) und die Ergebnisse sind wie folgt.

Detaillierter Prozess der Bereitstellung von Node.js mit Docker

Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.

Das obige ist der detaillierte Inhalt vonDetaillierter Prozess der Bereitstellung von Node.js mit Docker. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage