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

MySQL-Startfehlerproblem und Szenarioanalyse

1. Komplettlösung 1. Problemanalyse und -lokalisi...

1 Minute Vue implementiert Rechtsklickmenü

Inhaltsverzeichnis Rendern Installieren Code-Impl...

So implementieren Sie eine bidirektionale Bindungsfunktion in vue.js mit reinem JS

Inhaltsverzeichnis Lassen Sie uns zunächst über d...

Beispiel für eine adaptive CSS-Bildschirmgrößenimplementierung

Um eine CSS-Bildschirmgrößenanpassung zu erreiche...

Eine kurze Analyse der asynchronen DOM-Aktualisierung von Vue

Inhaltsverzeichnis Das Prinzip der asynchronen DO...

Best Practices zum Teilen von React-Code

Wenn ein Projekt eine gewisse Komplexität erreich...

JavaScript-Code zur Implementierung eines einfachen Rechners

In diesem Artikelbeispiel wird der spezifische Ja...

So richten Sie den Ziellink eines Tags auf ein Iframe

Code kopieren Der Code lautet wie folgt: <ifra...

Eine Sammlung möglicher Probleme bei der Migration von SQLite3 nach MySQL

Kurzbeschreibung Passend für Leser: Mobile Entwic...