Aller au contenu

Dockerfile

·1 min·
Industrialisation Docker
Sommaire
Docker - Cet article fait partie d'une série.
Partie 4: Cet article

Un Dockerfile définit comment construire une image Docker.
Il décrit l’environnement d’exécution de l’application : base système, dépendances, code et commande de démarrage.


Structure minimale
#

FROM python:3.11-slim

WORKDIR /app

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY src/ ./src/

CMD ["python", "src/main.py"]

RĂ´le des instructions
#

  • FROM : image de base (OS + runtime)
  • WORKDIR : rĂ©pertoire de travail dans le conteneur
  • COPY : copie des fichiers depuis le host vers l’image
  • RUN : exĂ©cution d’une commande lors du build
  • CMD : commande lancĂ©e au dĂ©marrage du conteneur

Bonnes pratiques
#

  • Utiliser des images lĂ©gères (-slim)
  • Copier d’abord les fichiers de dĂ©pendances pour optimiser le cache
  • Éviter COPY . . si inutile
  • Ne jamais inclure de secrets
  • Limiter le nombre de couches (RUN combinĂ©s si nĂ©cessaire)

Comprendre le cache
#

Docker construit l’image par couches.

Si requirements.txt ne change pas :
→ la couche pip install est mise en cache
→ le build est beaucoup plus rapide

Si un fichier copié avant change :
→ toutes les couches suivantes sont reconstruites

L’ordre des instructions est donc stratégique.

Thibault CLEMENT - Intechnia
Auteur
Thibault CLEMENT - Intechnia
Data scientist
Docker - Cet article fait partie d'une série.
Partie 4: Cet article