Comment Dockeriser une application Node.js

Comment Dockeriser Une Application Node Js



Dockeriser une application implique de spécifier tous les prérequis requis pour exécuter l'application, puis d'utiliser le Dockerfile pour créer une image Docker spécialisée qui peut être partagée avec diverses machines. Dockeriser un ' Noeud.js 'L'application améliore la cohérence et garantit un débogage pratique du côté du développeur.

Conditions préalables







Les prérequis pour dockeriser un « Noeud.js 'L'application comprend les éléments suivants :



  • Installation de Dockers.
  • Compréhension de base de l'application Node.js.

Comment Dockeriser une application Node.js ?

UN ' Noeud.js ' L'application peut être dockerisée en suivant les étapes suivantes :



Étape 1 : Créez un fichier « package.json »





Tout d’abord, créez un nouveau répertoire dans lequel tous les fichiers seront compris. Dans ce répertoire, créez le «  package.json ' fichier qui représente l'application ainsi que ses dépendances :

{
'nom' : 'docker_web_app' ,
'version' : '1.0.0' ,
'description' : 'Node.js sur Docker' ,
'auteur' : 'Premier Dernier ' ,
'principal' : 'serveur.js' ,
'scripts' : {
'commencer' : 'noeud serveur.js'
} ,
'dépendances' : {
'exprimer' : '^4.18.2'
} }



Étape 2 : générer un fichier « package-lock.json »

Dans le fichier « package.json », exécutez le « installation npm ' Applet de commande. Cela générera un « package-lock.json ' qui est copié dans l'image Docker, comme suit :

npm installer

Étape 3 : Créer un serveur

Après cela, créez un ' serveur.js ' fichier qui déclare une application Web utilisant le ' Express.js ' cadre:

'utiliser strict' ;

const express = exiger ( 'exprimer' ) ;

constPORT = 8080 ;
const HÔTE = '0.0.0.0' ;

const application = express ( ) ;
app.get ( '/' , ( demande, résolution ) = > {
renvoyer ( 'Bonjour le monde' ) ;
} ) ;

app.écouter ( PORT, HÔTE, ( ) = > {
console.log ( ` Exécuté sur http : // ${HÔTE} : ${PORT} ` ) ;
} ) ;

Passons maintenant aux méthodologies pour exécuter l'application au sein d'un conteneur Docker via une image Docker officielle.

Étape 4 : Créer un fichier Docker

Créez manuellement un Dockerfile dans le même répertoire comprenant tous les fichiers. Dans ce fichier, écrivez la ligne de code suivante :

Noeud FROM : 18
RÉPERT TRAVAIL / usr / src / application
Forfait COPIE * .json . /
EXÉCUTER npm installer
COPIE . .
EXPOSER 8080
CMD [ 'nœud' , 'serveur.js' ]

Dans l'extrait de code ci-dessus, appliquez les étapes ci-dessous :

  • Tout d’abord, utilisez la dernière version de support à long terme 18 du nœud comme image de base contenue dans Centre Docker .
  • Après cela, créez un répertoire pour contenir le code de l'application dans l'image.
  • Cela représente le répertoire de travail de l'application.
  • Maintenant, installez les dépendances de l'application via ' npm ».
  • Note: Si la version 4 ou antérieure de npm est utilisée, un fichier « package-lock.json » ne sera pas créé.
  • Maintenant, copiez le ' package.json ' déposer. Regroupez également le code source de l'application dans l'image Docker via le ' COPIE ' instruction.
  • Utilisez le «  EXPOSER 'Instruction pour laisser l'application se lier au port 8080.
  • Enfin, définissez l'applet de commande pour exécuter l'application via CMD qui définit le runtime. Ici le ' serveur de nœud.js ' L'applet de commande sera utilisée pour lancer le serveur.

Étape 5 : Créez un fichier « .dockerignore »

Créez un fichier « .dockerignore » dans le dossier « Fichier Docker 'répertoire/dossier comprenant le contenu ci-dessous :

nœud_modules
npm-debug.log

Ce contenu évite que les modules locaux et les journaux de débogage soient respectivement copiés dans l'image Docker.

Étape 6 : Construire l'image

Maintenant, dans le répertoire comprenant le Dockerfile, créez l'image à l'aide de l'applet de commande indiquée ci-dessous :

construction de docker. -t noeudjs / nœud-web-app

Dans cette applet de commande, «  noeudjs ' fait référence au nom du répertoire, spécifiez donc l'applet de commande en conséquence et le ' -t ' Le drapeau marque l'image.

Maintenant, listez les images via cette commande :

Images : docker

Étape 7 : Exécutez l'image

Exécutez/exécutez l'image à l'aide de l'applet de commande indiquée ci-dessous :

exécution du docker -p 49160 : 8080 -d noeudjs / nœud-web-app

Ici le ' -p Le drapeau ' redirige un port public vers un port privé à l'intérieur du conteneur et le ' -d ' L'indicateur exécute le conteneur en mode détaché, c'est-à-dire en arrière-plan.

Étape 8 : générer la sortie de l'application

Maintenant, imprimez la sortie de l'application à l'aide des commandes suivantes :

docker ps
journaux de docker 77b1e3c8576e

S’il est nécessaire de naviguer dans la coque du conteneur, utilisez le «  exécutif ' Applet de commande :

docker exécutif -il 77b1e3c8576e / poubelle / frapper

Ici, ' 77b1e3c8576e ' représente l'ID du conteneur qui peut être copié via le ' exécuté docker ps » commande précédemment.

Étape 9 : tester l'application

Pour tester l'application, récupérez le port de l'application mappé par Docker :

docker ps

Dans l'applet de commande ci-dessus, Docker a mappé le «  8080 « port à l'intérieur du conteneur vers le port » 49160 » sur la machine.

Étape 10 : Appel de l'application

Invoquez l’application via le «  boucle ' Applet de commande en vous référant au port mappé ci-dessus et en entrant les valeurs requises :

boucle -je hôte local : 49160

Étape 11 : Fermez/Tuez l'application

Enfin, fermez l’application via le bouton « tuer ' Applet de commande :

docker tuer 77b1e3c8576e

Vérifiez également si l'application s'est arrêtée via cette commande avec les valeurs d'entrée :

boucle -je hôte local : 49160

Conclusion

UN ' Noeud.js ' L'application peut être dockerisée en créant un serveur, un fichier docker, le fichier « .dockerignore », en créant et en exécutant l'image, en générant la sortie de l'application et en testant, fermant et confirmant l'arrêt de l'application. Cet article explique en détail la dockerisation d'une application Node.js.