Comment créer une application Nodejs sur Docker

Comment créer une application Nodejs sur Docker
Docker est devenu un sujet brûlant de conversation de nos jours, en particulier chez les développeurs. Alors qu'est-ce que Docker? Docker est une plate-forme OpenSource qui monte sur le noyau Linux et permet aux développeurs de créer et de déployer leurs applications dans conteneurs. Les conteneurs fournissent un environnement isolé pour l'exécution d'applications et ils sont livrés avec leurs propres bibliothèques, dépendances et fichiers de configuration qui sont essentiels pour le déploiement automatique des applications.

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:

  1. Docker
  2. Nodejs et NPM

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:

  1. js
  2. html

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



Bonjour! Bienvenue dans mon application Nodejs



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.