On sait que chaque image contient des layers.
Chaque commande dans un Dockerfile crée un nouveau layer.
Docker utilise un cache par layer afin d’optimiser le temps de construction de l’image.
FROM python:3.7-slim-buster
COPY . .
RUN pip install --quiet -r requirements.txt
ENTRYPOINT ["python", "server.py"]
Ou le requirements.txt :
flake8==3.9.1
pandas==1.2.4
flask==1.1.2
Le premier build va prendre du temps :
Si nous ne modifions aucune couche du dockerfile :
Le build se fera quasiment instantanément grâce au cache.
Voici une petite explication en image :