4 commentaires
L'utilisation de python:3.11-slim ou alpine est un excellent début. Voici un pattern standard pour réduire drastiquement la taille :
FROM python:3.11-slim AS builder
RUN pip install --user -r requirements.txt
FROM python:3.11-slim
COPY --from=builder /root/.local /root/.local
ENV PATH=/root/.local/bin:$PATH
COPY . .
CMD ["python", "app.py"]
C'est beaucoup plus léger ! Est-ce qu'il y a un risque à utiliser --user lors de l'installation des paquets ?
C'est une pratique courante en build multi-stage pour isoler les dépendances. Assure-toi juste que le chemin /root/.local/bin est bien inclus dans ton PATH comme dans mon exemple.
Nickel, je passe de 1.2Go à 150Mo. C'est parfait, je valide la solution.
Laisser une réponse
Vous devez être connecté pour poster un message !
J'ai une image Docker qui fait plus de 1Go pour un simple script Python. Je cherche à optimiser ça avec le multi-stage build. Quelqu'un a un exemple propre pour une appli Python ?