5.3 · Docker pour Python

Niveau 5 · Niveau pro & industrialisation

5.3Docker pour Python

Objectif : conteneuriser une application Python (web/data) avec Docker.
Temps estimé : 15 min

« Ça marche sur ma machine » — la phrase qui hante les mises en production. Docker y répond en empaquetant votre application Python avec son environnement complet (version de Python, dépendances, système) dans un conteneur qui s'exécute à l'identique partout : votre PC, celui d'un collègue, un serveur cloud.

Vous découvrez les notions clés — image, conteneur, Dockerfile — et comment conteneuriser une application Python (web ou data). C'est aujourd'hui un standard de l'industrie, incontournable pour le déploiement moderne et le travail en équipe.

Vocabulaire de la section

Docker
Outil de conteneurisation : empaquette une application et tout son environnement pour qu'elle tourne partout à l'identique.
Image
Modèle figé et réutilisable contenant l'application et ses dépendances. On en instancie des conteneurs.
Conteneur
Instance en cours d'exécution d'une image : une application isolée, légère et reproductible.
Dockerfile
Fichier de recette décrivant, étape par étape, comment construire l'image (base, dépendances, code, commande de lancement).
docker build / run
build construit l'image à partir du Dockerfile ; run lance un conteneur à partir de l'image.
Vérifiez votre compréhension

Quel problème Docker résout-il principalement ?

Docker pour Python
Vidéo hébergée sur YouTube — ouvrir dans un nouvel onglet ↗
Tutos Docker pour Python (recherche FR)
Cliquer pour voir les résultats à jour ↗

En pratique — Conteneuriser une application Python

  1. Installez Docker Desktop. Préparez une petite app Python (ex. un script ou une API FastAPI) avec son requirements.txt.
  2. Écrivez un Dockerfile : image de base « FROM python:3.12-slim », copie du code, « RUN pip install -r requirements.txt », commande de lancement (CMD).
  3. Construisez l'image : « docker build -t mon-app . », puis lancez un conteneur : « docker run mon-app » (avec -p pour exposer un port si c'est une API).
  4. Modifiez le code, reconstruisez, relancez : mesurez la reproductibilité — le conteneur tourne à l'identique partout.
Vous conteneurisez une application Python avec un Dockerfile et la lancez dans un conteneur : la clé d'un déploiement fiable et portable.

Points clés à retenir

  • Docker empaquette l'app + son environnement : fini le « ça marche sur ma machine ».
  • Image = modèle figé ; conteneur = instance en exécution.
  • Le Dockerfile décrit la recette de construction de l'image.
  • build (construire) puis run (lancer) : le cycle de base de Docker.

Questions fréquentes

Docker remplace-t-il les environnements virtuels (venv) ?

Ils opèrent à des niveaux différents. Le venv isole les dépendances Python d'un projet sur votre machine. Docker isole l'application ENTIÈRE (Python, système, dépendances) dans un conteneur portable. En pratique, on utilise souvent un venv en développement et Docker pour livrer/déployer.

Docker est-il nécessaire pour un débutant ?

Pas pour apprendre le langage. Mais dès qu'on déploie une application réelle, qu'on travaille en équipe ou qu'on vise le cloud, Docker devient un standard quasi incontournable. C'est une compétence très valorisée : l'aborder au niveau pro est le bon moment.

Autres ressources