🐳outils

Docker pour les lyceens : comprendre la conteneurisation

30 mars 2026 5 min de lecture

Docker, c'est quoi ? Une analogie simple

Imagine que tu dois envoyer un jeu vidéo à un ami. Sur ton ordinateur, il fonctionne parfaitement, mais sur le sien, il plante à cause d'une version différente de Windows, d'un pilote manquant ou d'une bibliothèque incompatible. C'est le cauchemar classique du développeur : "Ça marche sur ma machine !".

Docker résout ce problème avec la conteneurisation. Pense à un conteneur maritime : il transporte des marchandises de façon standardisée, isolée et sécurisée, quel que soit le cargo. Un conteneur Docker fait la même chose pour une application : il empaquète le code, les bibliothèques, les outils système et les paramètres dans une unité isolée et portable. Ainsi, ton application s'exécutera de manière identique sur n'importe quelle machine disposant de Docker, que ce soit ton PC, l'ordinateur du lycée ou un serveur en ligne.

Les concepts clés à maîtriser

Pour bien utiliser Docker, il faut comprendre trois éléments fondamentaux.

L'Image Docker : la recette de cuisine

Une image est un modèle en lecture seule, une sorte de "recette" ou de "moule" qui définit tout ce dont ton application a besoin pour fonctionner. Elle contient un système d'exploitation minimal (souvent Linux), ton code Python, les bibliothèques comme NumPy ou Flask, et la configuration. On ne modifie pas directement une image ; on en crée une nouvelle à partir d'une existante. Les images sont stockées dans des registries, comme Docker Hub (une immense bibliothèque publique).

Le Conteneur : l'instance en cours d'exécution

Un conteneur est une instance vivante et exécutable d'une image. C'est comme lorsque tu suis la recette pour faire un gâteau : l'image est la recette, le conteneur est le gâteau lui-même, cuit et prêt à être mangé. Tu peux démarrer, arrêter, supprimer et exécuter plusieurs conteneurs à partir d'une même image. Chaque conteneur est isolé des autres et de ton système hôte.

Le Dockerfile : le plan de construction

Le Dockerfile est un simple fichier texte qui contient toutes les instructions pour construire une image. C'est ton script de construction. Voici un exemple ultra-simple pour une app Python :

# Utilise l'image officielle Python légère
FROM python:3.9-slim
# Définit le répertoire de travail dans le conteneur
WORKDIR /app
# Copie le fichier requirements.txt d'abord (pour optimiser le cache)
COPY requirements.txt .
# Installe les dépendances
RUN pip install --no-cache-dir -r requirements.txt
# Copie le reste du code de l'application
COPY . .
# Commande à exécuter au lancement du conteneur
CMD ["python", "mon_script.py"]

Ton premier conteneur : un Hello World en Python

Passons à la pratique ! Assure-toi d'avoir installé Docker Desktop sur ta machine.

Étape 1 : Télécharger une image
Ouvre ton terminal (ou PowerShell) et tape :
docker pull python:3.9-slim
Cette commande télécharge l'image Python officielle depuis Docker Hub.

Étape 2 : Lancer un conteneur interactif
Maintenant, lançons un conteneur basé sur cette image et entrons à l'intérieur :
docker run -it --name mon_premier_conteneur python:3.9-slim bash
Explication des options :
-it : mode interactif avec un terminal.
--name : donne un nom à ton conteneur.
bash : la commande à exécuter (un shell).

Tu es maintenant à l'intérieur du conteneur ! Le prompt a changé. Tape :
python3 -c "print('Hello World depuis mon conteneur Docker !')"
Félicitations ! Tu viens d'exécuter du code Python dans un environnement isolé. Tape exit pour quitter le conteneur.

Étape 3 : Gérer ses conteneurs
Quelques commandes essentielles :
docker ps -a : liste tous les conteneurs (même arrêtés).
docker start mon_premier_conteneur : redémarre un conteneur arrêté.
docker stop mon_premier_conteneur : arrête le conteneur.
docker rm mon_premier_conteneur : supprime le conteneur.

Pourquoi Docker est-il utile en NSI et pour tes projets ?

Docker n'est pas réservé aux ingénieurs seniors ! En tant que lycéen en NSI, il peut te simplifier la vie :

  • Environnements de projet reproductibles : Plus de "ça marche pas sur la machine du prof". Tu partages juste ton Dockerfile et ton code. Ton projet, avec toutes ses dépendances précises, tournera à l'identique partout.
  • Expérimenter sans risque : Tu veux tester une nouvelle base de données (comme PostgreSQL), un serveur web (Nginx), ou une version spécifique de Python ? Lance-les dans des conteneurs. Si ça ne te plaît pas, supprime le conteneur : ton système principal reste propre et intact.
  • Préparer le supérieur et le monde pro : Docker est un standard incontournable dans le développement moderne (DevOps). Le découvrir maintenant te donne une longueur d'avance considérable pour tes études post-bac et tes stages.
  • Déployer facilement : Pour un projet de type site web (avec Flask ou Django), Docker te permet de le "conteneuriser" et de le déployer sur des plateformes cloud comme Heroku, AWS ou OVH en quelques commandes.

Aller plus loin : Docker Compose pour les projets multi-services

Pour un projet plus complexe (un site web avec une base de données et un cache), gérer plusieurs conteneurs à la main devient fastidieux. Docker Compose est l'outil qu'il te faut. Il te permet de décrire toute ton application (ses différents services) dans un seul fichier YAML (docker-compose.yml) et de la lancer d'une seule commande.

Exemple simplifié pour une app web Flask + Redis :

version: '3.8'
services:
web:
build: .
ports:
- "5000:5000"
depends_on:
- redis
redis:
image: "redis:alpine"

Tu lances le tout avec : docker-compose up. Magique !

Docker ouvre un monde de possibilités. Commence par maîtriser les bases : images, conteneurs, Dockerfile. Expérimente avec tes scripts Python de NSI. Tu verras, une fois le déclic passé, tu ne pourras plus t'en passer pour tes projets !

📚 Pour aller plus loin

Questions fréquentes

Docker, c'est comme une machine virtuelle (VM) ?

Pas tout à fait ! Une VM émule un ordinateur complet avec son propre système d'exploitation (OS), ce qui est lourd. Un conteneur Docker partage le noyau de l'OS de la machine hôte et n'empaquete que l'application et ses dépendances. Il est donc beaucoup plus léger, démarre en quelques secondes et consomme moins de ressources. C'est une forme de virtualisation plus efficace.

Est-ce que Docker est gratuit pour un usage personnel ?

Oui, tout à fait ! Docker Desktop est gratuit pour les étudiants, les particuliers et les petites entreprises (à certaines conditions). Tu peux l'installer et l'utiliser sans problème pour tous tes projets de NSI et personnels. Les images publiques sur Docker Hub sont également gratuites à télécharger.

Je suis sous Windows, est-ce que je peux utiliser Docker pour faire tourner des conteneurs Linux ?

Absolument ! Docker Desktop pour Windows intègre un petit noyau Linux léger (la WSL2 - Windows Subsystem for Linux) qui s'installe automatiquement. Tu pourras donc exécuter des images Linux (comme `python:3.9-slim` ou `ubuntu`) sans avoir à installer Linux sur ton PC. C'est transparent pour toi.

Où puis-je trouver des images Docker toutes faites ?

Le site principal est <strong>Docker Hub</strong> (hub.docker.com). C'est une immense bibliothèque où tu trouveras des images officielles pour presque tout : Python, Node.js, PostgreSQL, Nginx, Redis... Recherche une technologie et utilise les images marquées "Official Image" pour être sûr de leur qualité et sécurité.

Bravo ! Tu as lu cet article
Inscris-toi pour sauvegarder ta progression et gagner des XP
Creer mon compte
Docker debutantconteneurisation
Pixel