Docker verwendet Dockerfile, um die Node.js-Anwendung zu starten

Docker verwendet Dockerfile, um die Node.js-Anwendung zu starten

Schreiben einer Docker-Datei

Am Beispiel des von express automatisch erstellten Verzeichnisses sieht die Verzeichnisstruktur wie folgt aus:

├── /bin
│ └── www
├── /Knotenmodule
├── /öffentlich
├── /Routen
├── /Ansichten
├── Paket-Lock.json
├── Paket.json
├── Ökosystem.config.js
├── app.js
└── Docker-Datei

Erstellen Sie eine neue Dockerfile -Datei im Projektverzeichnis

VON Knoten:10.15
WARTUNGSBEARBEITER [email protected]
KOPIEREN ./app/
ARBEITSVERZEICHNIS /app
Führen Sie den Befehl npm install pm2 -g aus.
EXPOSE 8003
CMD ["pm2-runtime", "ecosystem.config.js"]
  • FROM gibt an, dass das Basisimage die Node-Version 10.15 ist (die offizielle Node-Version kann hier eingesehen werden)
  • MAINTAINER beschreibt den Betreuer des Images
  • Der Befehl COPY kopiert Dateien vom Hostcomputer in das Image. Das Format ist COPY [--chown=<Benutzer>:<Gruppe>] <Quellpfad>... <Zielpfad>. Dabei werden alle Dateien im Projektverzeichnis in das Verzeichnis /app im Image kopiert. Wenn der Zielpfad nicht existiert, erstellt Docker ihn automatisch.
  • Mit WORKDIR wird das Arbeitsverzeichnis angegeben, also das Verzeichnis, in dem CMD ausgeführt wird.
  • Der Befehl RUN wird zum Ausführen von Shell-Befehlen verwendet. Hier wird er zum Installieren von pm2 verwendet.
  • Mit dem Befehl EXPOSE wird der vom Laufzeitcontainer bereitgestellte Service-Port deklariert. Beachten Sie jedoch, dass der Dienst dieses Ports zur Laufzeit nicht aktiviert wird. Dieser Befehl dient hauptsächlich dazu, Benutzern zu helfen, den Daemon-Port des Spiegeldienstes zu verstehen, um die Konfigurationszuordnung zu erleichtern. Darüber hinaus wird bei Verwendung der zufälligen Portzuordnung der EXPOSE-Port automatisch zufällig zugeordnet.
  • CMD ist der Standardstartbefehl des Container-Hauptprozesses

Erstellen des Images

Ausführen im Projektverzeichnis

Docker-Build -t Express-App:v1.

Wenn der Build erfolgreich ist, überprüfen Sie die Spiegelliste

Docker-Bilder

Das Bild express-app:v1 sollte ausgegeben werden

Ausführen des Containers

docker run -d -p 8003:3000 --name="express-app" express-app:v1

docker run ist eine Abkürzung der beiden Befehle docker create und docker start .

  • -d steht für --detach und bedeutet, dass der Container im Hintergrund laufen soll.
  • -p gibt die Portzuordnung zwischen Host und Container an. Die linke Seite ist der Port des Hosts und die rechte Seite der Port des Containers. Das heißt, der Zugriff auf Port 8003 des Hosts wird dem Port 3000 im Container zugeordnet.
  • --name legt den Containeralias fest. Wenn nicht angegeben, generiert Docker einen zufälligen Namen, beispielsweise tender_swirles .

implementieren

Docker PS

Die normale Anzeige sieht folgendermaßen aus

Fügen Sie den Parameter -a hinzu, um alle gestarteten Container anzuzeigen.

Betreten des Containers

Wenn Sie den Container öffnen möchten, führen Sie den folgenden Befehl aus

Docker Exec -it Express-App Bash 

-i und -t werden normalerweise zusammen verwendet. -i startet den interaktiven Modus -t gibt an, dass ein Terminal zugewiesen werden muss. Sie können die Wirkung testen, wenn Sie einen der beiden Parameter nicht angeben.

Der Befehl attach “ ähnelt exec und lautet docker attach express-app . Das Beenden von stdin stoppt jedoch den Container. Daher wird empfohlen, den Befehl exec zu verwenden.

Betrieb schließen

Stoppen des Containers

Docker stoppt Express-App

Löschen eines Containers

Docker RM Express-App

Wenn der Container beim Löschen noch ausgeführt wird, müssen Sie den Parameter -f hinzufügen

Löschen eines Bildes

Docker RMI Express-App: V1

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:
  • So erstellen Sie Ihr eigenes Image mit Dockerfile
  • So verwenden Sie Dockerfile zum Erstellen von Images in Docker
  • Idea konfiguriert Maven-Tomcat-Plugin zur Implementierung der Projektbereitstellung
  • Detaillierte Erläuterung der Rolle des Spring-Boot-Maven-Plugin-Plugins
  • Verwenden Sie das Maven-Shade-Plugin, um ein ausführbares Jar-Paket in Java zu erstellen
  • minimalistisches Dockerfile-Maven-Plugin-Tutorial (empfohlen)

<<:  Detailliertes Tutorial zur Installation und Deinstallation von MySql

>>:  Tipps zum Schreiben prägnanter React-Komponenten

Artikel empfehlen

So verweisen Sie auf jQuery in einer Webseite

Die Referenzierung ist über CDN (Content Delivery ...

React-Tipps zeigen Ihnen, wie Sie Probleme mit Hook-Abhängigkeiten beseitigen

Ein sehr häufiges Szenario in react -Projekten: c...

Tutorial zur binären Kompilierung und Installation von MySql centos7 unter Linux

// Ich habe einen ganzen Nachmittag für die Insta...

CSS-Randüberlappungen und wie man sie verhindert

Die vertikal benachbarten Kanten zweier oder mehr...

So zeigen Sie den Startparameterbefehl „Docker Run“ an (empfohlen)

Verwenden Sie runlike, um die Docker Run-Startpar...

Detaillierte Erläuterung der bidirektionalen Bindung von Vue

Inhaltsverzeichnis 1. Zwei-Wege-Bindung 2. Wird d...

Design-Tipps: Wir glauben, es wird Ihnen gefallen

<br />Wenn Sie sich diesen Titel ansehen, ko...

HTML-Grundlagen - Zusammenfassung - Empfehlung (Absatz)

HTML-Absatz Absätze werden durch das Tag <p>...

Detaillierte Erläuterung der Kubernetes-Pod-Orchestrierung und des Lebenszyklus

Inhaltsverzeichnis K8S Master Grundlegende Archit...