Erläuterung des Prozesses des Docker-Packaging-Node-Projekts

Erläuterung des Prozesses des Docker-Packaging-Node-Projekts

Als Backend-Programmierer muss ich manchmal an Frontend-Sachen basteln. Also bat mich mein Chef, das Front-End-Projekt in ein Docker-Paket zu packen. Okay, hören wir auf, Unsinn zu reden. Um das Docker-Paket zu installieren, müssen Sie zunächst eine Docker-Datei haben. Schreiben wir also zuerst Docker

Docker-Datei

VON daocloud.io/node:7
WARTUNGSPERSÖNLICH abel.yang <[email protected]>
LABEL Beschreibung="Dieses Bild wurde für das Web erstellt"
RUN mkdir -p /opt/apps/epp
KOPIEREN . /opt/apps/epp
ARBEITSVERZEICHNIS /opt/apps/epp/epp-web/server
ENV LANG C.UTF-8
ENV TZ=Asien/Shanghai
RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone
EXPOSE 3001
CMD [ "npm", "start" ]

Okay, das Dockerfile ist geschrieben und führt den Befehl zur Image-Erstellung aus.

myeppweb ist der Name des Spiegels, den ich eingegeben habe

docker build -t myeppweb.
// Hinweis. Nicht vergessen.

Start-up

Führen Sie zu diesem Zeitpunkt Docker-Images aus, um das erfolgreich gepackte Image anzuzeigen

Führen Sie den Startbefehl aus:

docker run -d -p 3001:3001 meinEppweb

analysieren

Okay, lassen Sie mich den Befehl von Dockerfile erklären

Verpacken Sie das Image basierend auf dem Image von daocloud.io/node:7

VON daocloud.io/node:7

Dies sind die Informationen des Betreuers.

WARTUNGSPERSÖNLICH abel.yang <[email protected]>
LABEL Beschreibung="Dieses Bild wurde für das Web erstellt"

Erstellen Sie einen Ordner und verschieben Sie alle Dateien im aktuellen Ordner in den neuen Ordner. (Die Dateien in meinem aktuellen Ordner sind der ausführbare Front-End-Code. Sie können den Code ausführen, indem Sie einfach „npm run start“ eingeben.)

RUN mkdir -p /opt/apps/epp
KOPIEREN . /opt/apps/epp

Legt den aktuellen Pfad fest, d.h. alle nachfolgenden Befehle werden in diesem Pfad ausgeführt

ARBEITSVERZEICHNIS /opt/apps/epp/epp-web/server

Spiegelzeit und Zeitzone einstellen

ENV LANG C.UTF-8
ENV TZ=Asien/Shanghai
RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone

Freiliegende Anschlüsse

EXPOSE 3001

Starten Sie den Knoten

CMD [ "npm", "start" ]

Nun, dieser Artikel dokumentiert lediglich den Verpackungsprozess.

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • Analyse des Docker-Image-Prozesses für die Verpackung von Springboot-Mikroservices
  • Eine kurze Analyse der SpringBoot-Verpackung und des Hochladens in Docker sowie der Implementierung der Bereitstellung mehrerer Instanzen (IDEA-Version)
  • Detaillierte Erläuterung der Verwendung von Docker zum Bereitstellen eines Webprojekts und zum Verpacken in eine Bilddatei
  • Verwenden von Jib zum Verpacken von Docker-Images
  • Detaillierte Erläuterung der Paketierung von Basissystem-Images für Docker-Container
  • So implementieren Sie die Verpackung in Docker Python
  • Detaillierte Erklärung der Python-Befehle des Docker-Pakets
  • So aktualisieren, verpacken und laden Sie Docker-Container in die Alibaba Cloud hoch

<<:  js implementiert dynamisch Operationen zum Hinzufügen und Löschen von Tabellen

>>:  Vue implementiert das Umschalten des Anmeldetyps

Artikel empfehlen

Natives JS zur Implementierung der Formularvalidierungsfunktion

Inhaltsverzeichnis Bei der Entwicklung kann eine ...

Eine kurze Analyse der Probleme mit JS-Originalwerten und Referenzwerten

Primitive Werte -> primitive Typen Number Stri...

Einfache Analyse von EffectList in React

Inhaltsverzeichnis EffectList-Sammlung Effektlist...

Grundlegendes zur JavaScript-Prototypenkette

Inhaltsverzeichnis 1. Verständnis der Gleichheits...

So ändern Sie das Datenbankdatenspeicherverzeichnis in MySQL

Vorwort Die Standarddatenbankdatei der MySQL-Date...

Gründe, warum MySQL Kill Threads nicht beenden kann

Inhaltsverzeichnis Hintergrund Problembeschreibun...

MySQL-Optimierung Verbindungsoptimierung

Im Artikel MySQL-Optimierung: Cache-Optimierung w...

CentOS8 - bash: verstümmelte Zeichen und Lösungen

Diese Situation tritt normalerweise auf, weil das...

HTML+CSS zum Erstellen eines einfachen Fortschrittsbalkens

1. HTML-Code Code kopieren Der Code lautet wie fo...

Manuelle und geplante Sicherungsschritte für die MySQL-Datenbank

Inhaltsverzeichnis Manuelle Sicherung Timer-Siche...

So konfigurieren Sie einfach mehrere Server in Nginx

1: Ich werde nicht näher auf die Installation von...

Dinge, die Sie nicht über die CSS-Pseudoelemente ::before und ::after wissen

CSS hat zwei Pseudoklassen, die nicht häufig verw...