GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Guide Docker :Dockeriser l'application Nodejs Express sur Ubuntu 18.04

Docker est un projet open source qui fournit une plate-forme ouverte aux développeurs et aux administrateurs système pour créer, empaqueter et exécuter des applications n'importe où en tant que conteneur léger. Docker automatise le déploiement d'applications dans des conteneurs de logiciels.

Nodejs est un environnement d'exécution JavaScript open source. Il s'agit d'un environnement d'exécution multiplateforme pouvant être installé sur Linux, Windows, MacOS, FreeBSD, etc. Nodejs est très utile pour créer des applications serveur et de bureau.

Dans ce tutoriel, je vais vous montrer comment créer une image Docker pour un projet d'application Nodejs Express existant dans Ubuntu 18.04. Nous allons apprendre à dockeriser une application Nodejs, puis déployer l'application en tant que conteneur dans l'environnement docker à l'aide d'un script docker-compose.

Prérequis

  • Ubuntu 18.04
  • Privilèges root

Ce que nous allons faire

  1. Installer Docker CE
  2. Installer Docker-Compose
  3. Configurer le projet Nodejs Express
  4. Créer le projet
  5. Test

Étape 1 - Installer Docker CE

Dans ce didacticiel, nous allons installer docker-ce community edition à partir du référentiel docker. Nous allons installer docker-ce community edition et docker-compose qui prend en charge la version 3 du fichier de composition.

Avant d'installer docker-ce, installez les dépendances de docker nécessaires à l'aide de la commande apt.

sudo apt install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

Ajoutez maintenant la clé docker et le référentiel en exécutant les commandes ci-dessous.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release - cs) \
   stable"

Installez le package docker-ce.

sudo apt install docker-ce

Une fois l'installation terminée, démarrez le service docker et activez-le pour qu'il se lance à chaque démarrage du système.

systemctl start docker
systemctl enable docker

Ensuite, nous donnerons aux utilisateurs normaux les privilèges d'exécution et de gestion du conteneur docker.

Ajoutez un nouvel utilisateur nommé 'mohammad' et ajoutez-le au groupe docker.

useradd -m -s /bin/bash mohammad
usermod -a -G docker mohammad

Connectez-vous maintenant en tant qu'utilisateur 'mohammad' et lancez docker container hello-world.

su - mohammad
docker run hello-world

Et vous obtiendrez le résultat comme indiqué ci-dessous.

Étape 2 - Installer Docker-Compose

Dans cette étape, nous allons installer docker-compose manuellement à partir du fichier binaire téléchargeable depuis GitHub. Nous allons installer la dernière version de docker-compose qui prendra en charge la composition v3.

Téléchargez la dernière version 1.22.0 de docker-compose à l'aide de la commande curl dans le répertoire '/usr/local/bin', puis rendez-la exécutable à l'aide de chmod.

Exécutez les commandes ci-dessous.

sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local /bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Et la dernière version de docker-compose a été installée, vérifiez en exécutant la commande docker-compose ci-dessous.

version docker-compose

Voici le résultat.

Étape 3 - Configurer le projet Nodejs Express

Dans cette section, nous allons configurer l'environnement d'application Nodejs. Nous utiliserons une simple application nodejs qui peut être générée à l'aide du "générateur express".

Connectez-vous à l'utilisateur 'mohammad'.

su - mohammed

Créez un nouveau répertoire nommé 'project' et allez-y.

projet mkdir -p
projet cd

Générez maintenant une simple application nodejs hello-word à l'aide de la commande "express" ci-dessous.

express hakase-app

Remarque :

Assurez-vous que nodejs, npm et les packages "express-generator" ont été installés sur le système.

Et vous obtiendrez l'application simple nodejs express dans le répertoire 'hakase-app'.

Ensuite, nous allons créer notre image docker personnalisée pour l'application nodejs 'hakase-app'.

Sous le répertoire 'project', créez un nouveau 'Dockerfile' en utilisant vim.

vim Dockerfile

Collez-y la configuration d'image docker suivante.

FROM node:8.11.4-alpineRUN mkdir -p /srcRUN npm install express-generator -gWORKDIR /srcADD hakase-app/package.json /src/package.jsonRUN npm installEXPOSE 3000CMD node hakase-app/bin/www 

Enregistrez et quittez.

Nous créons une nouvelle image docker personnalisée pour notre application nodejs avec les spécifications ci-dessous.

  • L'image personnalisée est basée sur la version alpine 8.11.4 officielle de nodejs.
  • Nous créons un nouveau répertoire pour notre projet "/src".
  • Installez le "générateur express" sur l'image personnalisée.
  • Ajoutez le fichier 'package.json' qui contient le profil d'application et les packages nécessaires au répertoire '/src'.
  • Installez tous les packages nodejs nécessaires au projet, en fonction du fichier "package.json".
  • Exportez le port 3000 avec la commande de démarrage par défaut "node hakase-app/bin/www".

Ensuite, nous allons créer l'image personnalisée basée sur le script docker-compose.

Créez un nouveau fichier yml 'docker-compose.yml' en utilisant vim.

vim docker-compose.yml

Collez-y la configuration suivante.

version :'3'services :hakase-app :build :. volumes :- ./hakase-app:/src/hakase-app ports :- "3000:3000" redémarrage :toujours

Enregistrez et quittez.

Nous créons un nouveau service docker nommé 'hakase-app', et en même temps nous construisons l'image docker personnalisée basée sur le 'Dockerfile' sur le répertoire du projet et monterons automatiquement les fichiers d'application hakase-app.

La configuration de Nodejs Express est terminée.

Étape 4 - Générer et exécuter le projet

Connectez-vous en tant qu'utilisateur 'mohammad' et allez dans le répertoire 'project'

su - mohammad
projet cd/

Construisez l'image et créez le service docker hakase-app à l'aide de la commande docker-compose ci-dessous.

construction docker-compose

Vous obtiendrez maintenant le résultat comme indiqué ci-dessous.

Et une fois terminé, exécutez le service docker "hakase-app".

docker-composer jusqu'à -d

Voici le résultat.

L'image docker personnalisée pour notre application Nodejs a été créée et le service docker hakase-app est opérationnel.

Étape 5 - Tester

Afficher l'image docker disponible sur le serveur.

images docker-composer
images docker

Une nouvelle image docker personnalisée pour notre application Nodejs a été créée.

Afficher le service Docker en cours d'exécution.

docker-composer ps
docker ps

L'application Nodejs est opérationnelle sur le port hôte 3000.

Ouvrez le navigateur Web et saisissez l'adresse IP du serveur avec le port.

http://10.0.15.2:3000/

Et vous obtiendrez la page express simple.

L'application Dockerizing Nodejs Express sur Ubuntu 18.04 a été complétée avec succès.


Ubuntu
  1. Installer PostgreSQL sur Ubuntu :un guide facile à suivre

  2. Comment installer Docker Engine sur Ubuntu :un guide étape par étape

  3. Comment installer Docker sur Ubuntu 16.04

  4. Comment installer Docker sur Ubuntu 18.04 / Ubuntu 18.10 / Ubuntu 19.04

  5. Installer l'application de surveillance de la température Psensor sur Ubuntu 20.04 - Guide étape par étape ?

Comment installer Docker sur Ubuntu 20.04

Comment installer Docker sur Ubuntu 22.04 / 20.04 LTS

Guide Docker :Dockeriser l'application Python Django

Comment installer Docker sur Ubuntu 20.04, 18.04, 21.04

Comment installer Docker sur Ubuntu 14.04

Installer Docker sur Ubuntu - Un guide étape par étape