Bases du cloud et des conteneurs
FROM python:slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "app.py"]Pour le Dockerfile ci-dessus, quelle association entre la commande exécutée lors de la construction de l'image avec docker build et la commande exécutée lors du démarrage d'un conteneur avec docker run est correcte ?
- AÀ la construction : pip install ; au démarrage : python app.py
- BÀ la construction : pip install et python app.py ; au démarrage : python app.py
- CÀ la construction : rien ; au démarrage : pip install et python app.py
Afficher la réponse et l'explication
Réponse : A. À la construction : pip install ; au démarrage : python app.py
RUN exécute une commande pendant la construction de l'image et enregistre le résultat (ici, les bibliothèques installées) dans l'image sous forme d'une nouvelle couche. CMD ne fait qu'enregistrer, dans la configuration de l'image, la commande par défaut à exécuter au démarrage d'un conteneur ; elle n'est pas exécutée pendant la construction. Les bibliothèques sont donc installées une seule fois, à la construction, et python app.py s'exécute à chaque démarrage d'un conteneur. Si une commande est écrite après le nom de l'image dans docker run, elle remplace le contenu de CMD.
Continuer : 9 autres questions sur Bases du cloud et des conteneurs