[JAVA] Créer un environnement Node.js avec Docker

introduction

Ce que vous faites est presque le même que ce qui est écrit dans Page officielle de Node.js. Notez s'il vous plaît.

Procédure approximative

  1. Création d'une application Node.js
  2. Création d'un Dockerfile
  3. Spécifiez les fichiers à ignorer lors de la création d'une image Docker
  4. Créez une image Docker
  5. Démarrez le conteneur Docker
  6. Confirmation d'accès

Créer une application Node.js

Tout d'abord, créez une application node.js localement.

Créer un répertoire de travail

Créez un nouveau répertoire pour créer une application Node.js et accédez-y.

$nom du répertoire mkdir
$nom du répertoire cd

Création de package.json

$ 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"
  }
}

Vérifier la version npm

$ npm --version

Exécutez l'installation de npm

$ npm install

Création de server.js

Créez server.js dans le répertoire où se trouve package.json

$ 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');
});

//Écoutez les connexions avec le numéro de port spécifié
app.listen(PORT, HOST);

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

Créer un Dockerfile

Créez un Dockerfile dans le répertoire où vous avez créé le fichier js dans la procédure ci-dessus.

Obtenez l'image originale

Dockerfile


FROM node:lts

--Cette fois, créez une image basée sur l'image de Node.js dans Docker Hub. --Sélectionnez lts pour la balise (** lts: support de longue date **) (Voir ici pour les lts de Laravel)

Créer un répertoire d'application

Dockerfile


WORKDIR /usr/src/app

--Créez un répertoire dans l'image pour stocker le code source de cette application. --Il est recommandé d'utiliser le chemin absolu (Reference)

Installez les bibliothèques requises pour votre application

Dockerfile


COPY package*.json ./
RUN npm install

--Node.js et NPM sont déjà installés dans l'image utilisée cette fois, donc installez les packages nécessaires à l'étape suivante. --Utilisez des caractères génériques (*) pour vous assurer que package.json et package-lock.json sont copiés.

Copiez le code source de l'application dans l'image

Dockerfile


COPY . .

Spécifiez le numéro de port à exposer à l'extérieur

Dockerfile


EXPOSE 8080

Exécutez les js créés

Dockerfile


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

Contenu du Dockerfile enfin terminé

Dockerfile


FROM node:lts

WORKDIR /usr/src/app

COPY package*.json ./
RUN npm install

COPY . .

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

Spécifiez les fichiers à ignorer lors de la création d'une image Docker

Dans le fichier .dockerignore, spécifiez le fichier à ignorer lors de la construction.

$ touch .dockerignore

.dockerignore


node_modules
npm-debug.log

Créer une image Docker

Créez l'image en fonction du Dockerfile créé.

$ docker build -t node_tutorial:latest .

Vérifiez l'image créée


$ docker images node_tutorial:latest

Démarrer le conteneur Docker

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

---p: associe le port spécifié dans server.js au port de localhost ---d: démarrer en arrière-plan

Vérifiez l'image Docker en cours d'exécution


$ docker ps 

Confirmation d'accès

$ curl -i localhost:49160

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

Hello, World!

---i: affiche à la fois l'en-tête et le corps de la réponse

Consultez le journal

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

Site de référence

Recommended Posts

Créer un environnement Node.js avec Docker
Créer un environnement de développement PureScript avec Docker
Créer un environnement de développement Wordpress avec Docker
Créer un environnement Docker avec WSL
Créer un environnement Laravel / Docker avec VSCode devcontainer
Créez rapidement un environnement de développement WordPress avec Docker
Créez un environnement Vue3 avec Docker!
Créer un environnement Node.js avec Docker Compose
Créer un environnement local Couchbase avec Docker
Créer un environnement Tomcat 8.5 avec Pleiades 4.8
[Note] Créez un environnement Python3 avec Docker dans EC2
Créez un environnement Docker + Laravel avec Laradock
Créer un environnement d'exécution WAS à partir de Docker
[Docker] Créez un environnement Node.js + express + webpack avec Docker
[Docker] Construisez l'environnement d'exécution de Jupyter Lab avec Docker
Créer un environnement avec Docker sur AWS
Créer un environnement de vérification des opérations TensorFlow avec Docker
Comment créer un environnement Rails 6 avec Docker
Construction d'un environnement de développement simple Docker + Django
Créer un environnement de développement pour Django + MySQL + nginx avec Docker Compose
Créer un environnement de développement pour Docker + Rails6 + Postgresql
[Memo] Créez facilement un environnement CentOS 8 avec Docker
Construction de l'environnement de développement Simple Docker Compose + Django
[Win10] Créer un environnement de développement JSF avec NetBeans
Préparer un environnement de scraping avec Docker et Java
Créer un environnement de développement pour Docker, Java, vs code
Créer un environnement mecab (dictionnaire NEologd) avec Docker (ubuntu)
[Rails] Comment créer un environnement avec Docker
Créer un environnement de développement Spring Boot avec docker
Créer un environnement de développement Java avec VS Code
[Copier et coller] Créez un environnement de développement Laravel avec Docker Compose, partie 2
Comment créer un environnement de développement Ruby on Rails avec Docker (Rails 6.x)
Créez un environnement de développement local pour les didacticiels Rails avec Docker (Rails 6 + PostgreSQL + Webpack)
Comment créer un environnement de développement Ruby on Rails avec Docker (Rails 5.x)
Modèle: créer un environnement de développement Ruby / Rails avec un conteneur Docker (version Ubuntu)
Modèle: créer un environnement de développement Ruby / Rails avec un conteneur Docker (version Mac)
[Docker] Construction de l'environnement Rails 5.2 avec docker
Ruby ① Création d'un environnement Windows
Construire DynamoDB local avec Docker
[Road_node.js_1-1] La voie de la création de l'environnement Node.js Express MySQL à l'aide de Docker
Comment créer un environnement Docker avec Gradle pour IntelliJ
Créez un environnement Ruby2.7.x + Rails6.0.x + MySQL8.0.x avec Docker
[Note] Créez un environnement Java à partir de zéro avec docker
Environnement Build Rails (API) x MySQL x Nuxt.js avec Docker
Essayez de créer un environnement de développement Java à l'aide de Docker