Aller au contenu
Runbook

Installer Node.js sur Docker

Runtime JavaScript côté serveur, fondé sur le moteur V8, livré avec le gestionnaire de paquets npm.

Runtimejavascriptruntimebackendv8npm

Installation

Image officielle (LTS) · Docker
docker run --rm -it node:lts node --version

Télécharge et exécute l'image officielle node:lts, puis affiche la version. Le drapeau --rm supprime le conteneur après usage.

Variante légère (Alpine) · Docker
docker run --rm -it node:lts-alpine node --version

Image basée sur Alpine, nettement plus petite ; attention aux dépendances natives liées à musl libc.

Vérifier l'installation

Vérifier
docker run --rm node:lts node --version

Fichiers importants

TypeCheminDescription
binaire/usr/local/bin/nodeEmplacement de l'exécutable node à l'intérieur de l'image officielle.

Outils en ligne de commande

  • nodeLe runtime JavaScript, disponible dans l'image.
  • npmGestionnaire de paquets Node.js, inclus dans l'image.
  • npxExécute un binaire d'un paquet sans l'installer globalement.

À savoir

  • L'image officielle est node:lts (multi-architecture) ; il n'y a aucun service à démarrer ni port exposé par défaut.
  • Pour un projet, écrivez un Dockerfile basé sur "FROM node:lts" et copiez d'abord package.json/package-lock.json pour profiter du cache de couches.
  • Les variantes node:lts-slim et node:lts-alpine réduisent fortement la taille de l'image.

Exécuter Node.js avec Docker

L'image officielle node permet d'utiliser Node.js sans rien installer sur l'hôte. docker run --rm -it node:lts node --version télécharge la dernière LTS, affiche la version, puis supprime le conteneur. Pour ouvrir un shell interactif dans le conteneur, lancez docker run --rm -it node:lts bash. À l'intérieur, l'exécutable se trouve dans /usr/local/bin/node.

Conteneuriser une application

Pour empaqueter votre propre application, créez un Dockerfile partant de FROM node:lts. Copiez d'abord package.json et package-lock.json, lancez npm ci, puis copiez le reste du code : cette séquence maximise la réutilisation du cache de couches Docker et accélère les builds. Définissez ensuite la commande de démarrage avec CMD ["node", "server.js"].

Choisir une variante d'image

Les variantes node:lts-slim et node:lts-alpine produisent des images bien plus légères. Alpine repose sur musl libc plutôt que la glibc : certains modules natifs peuvent nécessiter une compilation spécifique. Pour la production, privilégiez une build multi-étapes afin d'exclure les outils de développement de l'image finale.