Docker Guide · 5 min read · Feb 05, 2026

Guide Docker : Dockeriser une application Nodejs Express sur Ubuntu 18.04

Docker est un projet open-source qui fournit une plateforme ouverte pour les développeurs et les administrateurs système afin de construire, empaqueter et exécuter des applications n’importe où sous forme de conteneur léger. Docker automatise le déploiement d’applications à l’intérieur de conteneurs logiciels.

Nodejs est un environnement d’exécution JavaScript open source. C’est un environnement d’exécution multiplateforme, qui peut être installé sur Linux, Windows, MacOS, FreeBSD, etc. Nodejs est très utile pour construire 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 sur 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. Construire le projet
  5. Tester

Étape 1 - Installer Docker CE

Dans ce tutoriel, nous allons installer l’édition communautaire docker-ce depuis le dépôt docker. Nous allons installer l’édition communautaire docker-ce et docker-compose qui prend en charge la version 3 du fichier compose.

Avant d’installer docker-ce, installez les dépendances docker nécessaires en utilisant la commande apt.

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

Ajoutez maintenant la clé et le dépôt docker 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"

Installer Docker

Installez le paquet docker-ce.

sudo apt install docker-ce

Après l’installation, 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

Démarrer Docker

Ensuite, nous allons donner des privilèges à l’utilisateur normal pour exécuter et gérer le 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 exécutez le conteneur docker hello-world.

su - mohammad  
docker run hello-world

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

Ajouter un utilisateur et tester l'utilisateur

Étape 2 - Installer Docker-Compose

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

Téléchargez la dernière version 1.22.0 de docker-compose en utilisant la commande curl vers le répertoire ‘/usr/local/bin’, puis rendez-le exécutable en utilisant 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.

docker-compose version

Voici le résultat.

Installer Docker Compose

Étape 3 - Configurer le projet Nodejs Express

Dans cette section, nous allons configurer l’environnement de l’application Nodejs. Nous allons utiliser une simple application nodejs qui peut être générée en utilisant le ‘express-generator’.

Connectez-vous à l’utilisateur ‘mohammad’.

su - mohammad

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

mkdir -p project  
cd project

Générez maintenant une simple application nodejs hello-word en utilisant la commande ‘express’ ci-dessous.

express hakase-app

Remarque :

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

Et vous obtiendrez la simple application express nodejs dans le répertoire ‘hakase-app’.

Installer le projet Nodejs Express

Ensuite, nous allons construire 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 la configuration de l’image docker suivante.

FROM node:8.11.4-alpine

RUN mkdir -p /src
RUN npm install express-generator -g

WORKDIR /src
ADD hakase-app/package.json /src/package.json
RUN npm install

EXPOSE 3000
CMD node hakase-app/bin/www

Enregistrez et quittez.

Utiliser npm pour installer l'application

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 l’image officielle nodejs version 8.11.4 alpine.
  • Nous créons un nouveau répertoire pour notre projet ‘/src’.
  • Installez le ‘express-generator’ dans l’image personnalisée.
  • Ajoutez le fichier ‘package.json’ qui contient le profil de l’application et les paquets nécessaires au répertoire ‘/src’.
  • Installez tous les paquets nodejs nécessaires pour le projet, basés sur le fichier ‘package.json’.
  • Exposez le port 3000 avec la commande d’exécution par défaut ‘node hakase-app/bin/www’.

Ensuite, nous allons construire 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 la configuration suivante.

version: '3'

services:

  hakase-app:
    build: .
    volumes:
      - ./hakase-app:/src/hakase-app
    ports:
      - "3000:3000"
    restart: always

Enregistrez et quittez.

Créer un fichier yml docker compose

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’ dans le répertoire du projet et monterons automatiquement les fichiers de l’application hakase-app.

La configuration de Nodejs Express est terminée.

Étape 4 - Construire et exécuter le projet

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

su - mohammad  
cd project/

Construisez l’image et créez le service docker hakase-app en utilisant la commande docker-compose ci-dessous.

docker-compose build

Maintenant, vous obtiendrez le résultat comme montré ci-dessous.

Construire le projet docker

Et quand c’est terminé, exécutez le service docker ‘hakase-app’.

docker-compose up -d

Voici le résultat.

Utiliser docker-compose up

L’image docker personnalisée pour notre application Nodejs a été créée, et le service docker hakase-app est en cours d’exécution.

Étape 5 - Tester

Montrez l’image docker disponible sur le serveur.

docker-compose images  
docker images

Afficher l'image docker disponible

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

Montrez le service docker en cours d’exécution.

docker-compose ps  
docker ps

L’application Nodejs est en cours d’exécution sur le port hôte 3000.

Ouvrez le navigateur web et tapez l’adresse IP du serveur avec le port.

http://10.0.15.2:3000/

Et vous obtiendrez la simple page express.

Dockeriser l’application Nodejs Express sur Ubuntu 18.04 a été complété avec succès.

Référence

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.