[JAVA] Erstellen Sie mit Docker eine Node.js-Umgebung

Einführung

Es ist fast dasselbe wie auf Offizielle Seite von Node.js. Bitte beachten Sie.

Grobe Prozedur

  1. Erstellen einer Node.js-Anwendung
  2. Erstellen einer Docker-Datei
  3. Geben Sie Dateien an, die beim Erstellen eines Docker-Images ignoriert werden sollen
  4. Erstellen Sie ein Docker-Image
  5. Starten Sie den Docker-Container
  6. Zugriffsbestätigung

Erstellen einer Node.js-Anwendung

Erstellen Sie zunächst lokal eine Anwendung node.js.

Arbeitsverzeichnis erstellen

Erstellen Sie ein neues Verzeichnis zum Erstellen einer Node.js-Anwendung und verschieben Sie es.

$Name des mkdir-Verzeichnisses
$Name des CD-Verzeichnisses

Package.json erstellen

$ touch package.json

package.json


{
  "name": "docker_node_js",
  "version": "1.0.0",
  "description": "Node.js on Docker",
  "main": "server.js",
  "scripts": {
    "start": "node server.js"
  },
  "dependencies": {
    "express": "^4.16.1"
  }
}

Überprüfen Sie die npm-Version

$ npm --version

--Version 5 oder höher wird empfohlen (da package-lock.json erstellt wird)

Führen Sie npm install aus

$ npm install

--Wenn die npm-Version 5 oder höher ist, wird package-lock.json nach dieser Ausführung automatisch erstellt.

Server.js erstellen

Erstellen Sie server.js in dem Verzeichnis, in dem sich package.json befindet

$ touch server.js

server.js


'use strict';

const express = require('express');

// Constants
const PORT = 8080;
const HOST = '0.0.0.0';

// App
const app = express();
app.get('/', (req, res) => {
  res.send('Hello World');
});

//Achten Sie auf Verbindungen mit der angegebenen Portnummer
app.listen(PORT, HOST);

console.log(`Running on http://${HOST}:${PORT}`);

Erstellen einer Docker-Datei

Erstellen Sie eine Docker-Datei in dem Verzeichnis, in dem Sie die js-Datei wie oben beschrieben erstellt haben.

Holen Sie sich das Originalbild

Dockerfile


FROM node:lts

Erstellen eines Anwendungsverzeichnisses

Dockerfile


WORKDIR /usr/src/app

--Erstellen Sie ein Verzeichnis im Image, um den Quellcode dieser Anwendung zu speichern.

Installieren Sie die erforderlichen Bibliotheken für Ihre Anwendung

Dockerfile


COPY package*.json ./
RUN npm install

--Node.js und NPM sind bereits in dem diesmal verwendeten Image installiert. Installieren Sie daher im nächsten Schritt die erforderlichen Pakete. --Verwenden Sie Platzhalter (*), um sicherzustellen, dass sowohl package.json als auch package-lock.json kopiert werden.

Kopieren Sie den Quellcode der Anwendung in das Image

Dockerfile


COPY . .

--Nach dem Ausführen des Prozesses "npm install" kopieren (bündeln) Sie den Inhalt des Arbeitsverzeichnisses in das Image.

Geben Sie die Portnummer an, die nach außen offengelegt werden soll

Dockerfile


EXPOSE 8080

Führen Sie die erstellten js aus

Dockerfile


CMD [ "node", "server.js" ]

Inhalt der endgültig fertiggestellten Docker-Datei

Dockerfile


FROM node:lts

WORKDIR /usr/src/app

COPY package*.json ./
RUN npm install

COPY . .

CMD [ "node", "server.js" ]

Geben Sie Dateien an, die beim Erstellen eines Docker-Images ignoriert werden sollen

Geben Sie in der .dockerignore-Datei die Datei an, die beim Erstellen ignoriert werden soll.

$ touch .dockerignore

.dockerignore


node_modules
npm-debug.log

--Diese Beschreibung verhindert, dass lokal installierte Module und Debug-Protokolle auf das Docker-Image kopiert oder die imageartigen Module überschrieben werden.

Erstellen Sie ein Docker-Image

Erstellen Sie das Image basierend auf der erstellten Docker-Datei.

$ docker build -t node_tutorial:latest .

Überprüfen Sie das erstellte Bild


$ docker images node_tutorial:latest

Starten Sie den Docker-Container

$ docker run -p 49160:8080 -d node_tutorial:latest

---p: Ordnen Sie den in server.js angegebenen Port dem Port von localhost zu ---d: Beginnen Sie im Hintergrund

Überprüfen Sie das laufende Docker-Image


$ docker ps 

Zugriffsbestätigung

$ curl -i localhost:49160

HTTP/1.1 200 OK
X-Powered-By: Express
Content-Type: text/html; charset=utf-8
...

Hello, World!

---i: Gibt sowohl den Header als auch den Body of Response aus

Überprüfen Sie das Protokoll

$ docker logs node_container
Running on http://0.0.0.0:8080

Referenzseite

Recommended Posts

Erstellen Sie mit Docker eine Node.js-Umgebung
Erstellen Sie mit Docker eine PureScript-Entwicklungsumgebung
Erstellen Sie mit Docker eine Wordpress-Entwicklungsumgebung
Erstellen einer Docker-Umgebung mit WSL
Erstellen Sie eine Laravel / Docker-Umgebung mit VSCode devcontainer
Erstellen Sie mit Docker schnell eine WordPress-Entwicklungsumgebung
Erstellen Sie mit Docker eine Vue3-Umgebung!
Erstellen Sie die Node.js-Umgebung mit Docker Compose
Erstellen Sie mit Docker eine lokale Couchbase-Umgebung
Erstellen Sie mit Pleiades 4.8 eine Tomcat 8.5-Umgebung
[Hinweis] Erstellen Sie eine Python3-Umgebung mit Docker in EC2
Erstellen Sie mit Laradock eine Docker + Laravel-Umgebung
Erstellen Sie eine WAS-Ausführungsumgebung aus Docker
[Docker] Erstellen Sie mit Docker eine Node.js + Express + Webpack-Umgebung
[Docker] Erstellen Sie die Ausführungsumgebung von Jupyter Lab mit Docker
Erstellen Sie eine Umgebung mit Docker unter AWS
Erstellen Sie mit Docker eine TensorFlow-Betriebsüberprüfungsumgebung
So erstellen Sie eine Rails 6-Umgebung mit Docker
Einfache Konstruktion der Docker + Django-Entwicklungsumgebung
Erstellen Sie mit Docker Compose eine Entwicklungsumgebung für Django + MySQL + nginx
Erstellen Sie eine Entwicklungsumgebung für Docker + Rails6 + Postgresql
[Memo] Erstellen Sie mit Docker ganz einfach eine CentOS 8-Umgebung
Einfache Erstellung der Docker Compose + Django-Entwicklungsumgebung
[Win10] Erstellen Sie eine JSF-Entwicklungsumgebung mit NetBeans
Bereiten Sie eine Scraping-Umgebung mit Docker und Java vor
Erstellen Sie eine Entwicklungsumgebung für Docker, Java und Code
Erstellen Sie mit Docker (Ubuntu) eine Mecab-Umgebung (NEologd Dictionary).
[Rails] So erstellen Sie eine Umgebung mit Docker
Erstellen Sie mit Docker eine Spring Boot-Entwicklungsumgebung
Erstellen Sie eine Java-Entwicklungsumgebung mit VS Code
[Kopieren und Einfügen] Erstellen Sie mit Docker Compose Part 2 eine Laravel-Entwicklungsumgebung
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 6.x)
Erstellen Sie mit Docker eine lokale Entwicklungsumgebung für Rails-Tutorials (Rails 6 + PostgreSQL + Webpack)
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 5.x)
Vorlage: Erstellen Sie eine Ruby / Rails-Entwicklungsumgebung mit einem Docker-Container (Ubuntu-Version).
Vorlage: Erstellen Sie eine Ruby / Rails-Entwicklungsumgebung mit einem Docker-Container (Mac-Version).
[Docker] Rails 5.2-Umgebungskonstruktion mit Docker
Ruby ① Erstellen einer Windows-Umgebung
Erstellen Sie DynamoDB local mit Docker
[Road_node.js_1-1] Der Weg zum Erstellen der Node.js Express MySQL-Umgebung mit Docker
So erstellen Sie eine Docker-Umgebung mit Gradle for IntelliJ
Erstellen Sie mit Docker eine Ruby2.7.x + Rails6.0.x + MySQL8.0.x-Umgebung
[Hinweis] Erstellen Sie mit Docker eine Java-Umgebung von Grund auf neu
Build Rails (API) x MySQL x Nuxt.js Umgebung mit Docker
Versuchen Sie, mit Docker eine Java-Entwicklungsumgebung zu erstellen