Dans ce guide, nous vous guiderons à travers la façon dont vous pouvez créer une application Nodejs sur Docker. Vous apprendrez à créer une application de démo Nodejs sur votre serveur et à la pousser plus tard sur Docker Hub. Dans ce guide, nous utilisons Ubuntu 18.04 LTS pour notre environnement de test.
Alors pourquoi quelqu'un voudrait pousser ses applications sur Docker? Comme nous l'avons vu plus tôt, Docker expédie les applications dans des conteneurs qui regroupent les bibliothèques et les dépendances. Cela constitue un environnement à part entière pour déployer vos applications. De plus, la circonscription de l'environnement de développement garantit que l'application fonctionnera de la même manière entre de nombreux développeurs et machines clients.
Prérequis pour le développement de Nodejs Docker
Ce guide suppose que vous avez une connaissance pratique de Docker et également une certaine familiarité avec la structure d'une application NodeJS.
Avant d'aller plus loin, assurez-vous que les éléments suivants sont installés sur votre environnement de test:
Mettons maintenant nos mains salissantes.
Étape 1: Créez un nœud.Application JS
Tout d'abord, commencez par créer une application NodeJS. Nous allons créer un nouveau répertoire, puis naviguer à l'intérieur comme indiqué.
$ mkdir mynode-app && cd mynode-app
Utilisez ensuite NPM, abréviation pour le gestionnaire de package NodeJS, pour initialiser le répertoire.
$ npm init
La commande crée un fichier appelé emballer.json . Vous serez invité à des détails sur le fichier JSON tel que le nom, la version, la description, les mots clés et l'auteur pour n'en citer que quelques-uns.
À la toute fin du type oui pour confirmer les détails préférés du fichier JSON.
Ensuite, ajoutez le framework express en exécutant la commande:
$ npm install express - save
Vous devriez obtenir une sortie comme indiqué ci-dessous
Étape 2: Créez un nœud.Application JS
Dans cette étape, nous devons créer des fichiers nécessaires pour l'application NodeJS. Créons 2 exemples de fichiers comme suit:
Pour le indice.js file, copier et coller le contenu ci-dessous:
const Express = require ('express')
const app = express ()
appliquer.get ('/', (req, res) =>
res.sendFile ('$ __ dirname / index.html ')
)
appliquer.écouter (3000, () =>
console.Journal ('écoute sur le port 3000!')
)
Le fichier crée un itinéraire d'index.Fichier HTML qui va écouter sur le port 3000
Pour l'index.Fichier HTML, collez la configuration suivante
Nous sommes maintenant prêts à lancer l'application Nodejs.
Étape 3: Exécutez l'application NodeJS
Pour lancer l'application, émettez simplement la commande
$ index de nœud.js
À partir de la sortie, nous pouvons voir que l'application écoute sur le port 3000. Pour confirmer cela, ouvrez votre navigateur et parcourez l'IP de votre serveur comme indiqué
http: // ip-address: 3000
Étape 4: Dockriser l'application NodeJS
Ensuite, nous allons créer un fichier docker
$ touch dockerfile
Ensuite, collez la configuration ci-dessous
Du nœud: carbone
Workdir / usr / src / app
Copier le package *.json ./ /
Exécuter l'installation de NPM
COPIE…
Exposer 3000
Index cmd ["nœud", ".JS "]
Décomposons cela:
La première ligne montre que nous avons l'intention d'utiliser la dernière version de Node pour construire notre image. Nœud.JS utilise généralement des éléments chimiques pour nommer ses versions LTS sur Node.
La deuxième ligne pointe vers la création du / /USR / SRC / App répertoire qui s'adaptera au code de l'application dans l'image.
Les lignes 3 et 4 dirigent la copie du package.Fichier JSON et exécution du Installation de NPM commande
COPIE… Cela emballe l'application NodeJS - comprenant les fichiers HTML et JS - dans l'image Docker.
Exposer 3000 Cela définit le port que l'application Nodejs utilisera
Cmd [«nœud», «index.js ”] Cela affiche la commande qui doit être exécutée pour que l'application commence.
Étape 5. Construisez le nœud.Application JS
Après avoir créé le fichier docker, nous allons maintenant construire l'application Nodejs en utilisant la commande indiquée ci-dessous. Soyez impatient d'inclure un espace et une période à la fin comme indiqué. L'option -T nous aide à étiqueter l'image pour faciliter la localisation lorsque nous exécutons le images docker commande.
$ docker build -t mynode-app .
Pour confirmer l'existence de l'image, exécutez la commande:
$ images docker
Étape 6. Exécution du conteneur Docker
Avec notre image prête, lançons maintenant en utilisant la commande:
# docker run -p 8080: 3000 -d nœud-app
La commande ordonnera à l'application d'écouter sur le port 8080 au lieu du port 3000. Pour confirmer cela, ouvrez votre navigateur et parcourez l'URL du serveur comme indiqué
http: // ip-address: 8080
Étape 7. Pousser l'application sur Docker Hub
Il s'agit de la dernière étape ayant déjà construit notre application et s'est assuré que tout fonctionne comme prévu.
Avant de procéder, assurez-vous que vous avez créé un compte chez Docker Hub
Ensuite, créez à nouveau l'image en utilisant vos informations d'identification Docker
# docker build -t [nom d'utilisateur] / tag .
Le nom d'utilisateur est votre nom d'utilisateur de connexion Docker Hub et la balise est la balise de votre application. Dans mon cas, la commande sera montrée
# docker build -t jayarthur / mynode-app .
Maintenant, connectez-vous à Docker Hub A montré.
# Connexion Docker
Fournissez votre nom d'utilisateur et votre mot de passe et appuyez sur Entrée
La seule chose qui reste maintenant est de pousser l'image vers le hub docker. Pour y parvenir, exécutez la commande:
# docker push jayarthur / mynode-app
Enfin, connectez-vous à votre Docker Hub et confirmez l'existence de l'image de l'application.
Et cela nous apporte la fin de ce tutoriel. N'hésitez pas à tendre la main avec vos commentaires. Merci.