TP (Docker):
- Questions clés pour comprendre pourquoi et comment Docker est appliqué au
déploiement d’un bot.
Partie 1 : Questions de compréhension théorique
- Généralités Docker
1. Qu’est-ce qu’un conteneur Docker, et en quoi diffère-t-il d’une machine virtuelle ?
2. Quelle est la différence entre une image Docker et un conteneur Docker ?
3. Quels sont les avantages d’utiliser Docker dans un projet de développement logiciel
?
4. Quels problèmes concrets Docker permet-il de résoudre lorsqu’on veut déployer un
bot ?
- Composants Docker
1. À quoi sert un Dockerfile ? Donnez un exemple d’instruction courante.
2. Que contient généralement un fichier [Link] dans un projet Python ?
3. Expliquez le rôle de la commande suivante :
docker run -p 5000:5000 my-bot
4. Quelle est l’utilité des ports exposés dans un conteneur ?
Partie 2 : Questions pratiques / techniques
- Déploiement du bot
1. Comment construire une image Docker à partir d’un projet local ?
2. Quelle commande Docker permet de lister les conteneurs en cours
d’exécution ?
3. Vous modifiez le code du bot, mais votre conteneur ne reflète pas les
changements. Pourquoi ? Que faire ?
4. Comment partager une image Docker avec quelqu’un d’autre ?
- Diagnostic & debugging
1. Que signifie l’erreur "port already in use" lors du lancement d’un conteneur ?
2. Quelles sont les commandes pour :
a. Voir les logs d’un conteneur
b. Accéder à son terminal
3. Si le bot ne répond pas, quelles étapes suivez-vous pour diagnostiquer le
problème ?
Partie 3 : Questions d’approfondissement
- Bonnes pratiques
1. Pourquoi est-il préférable de fixer les versions des paquets dans
[Link] ?
2. Pourquoi le mot-clé CMD est-il souvent utilisé à la fin d’un Dockerfile ?
3. Quelle différence entre COPY et VOLUME dans Docker ?
- Mise en production
1. Comment sécuriser le déploiement d’un bot dans un conteneur Docker
2. Comment Docker Compose facilite-t-il le déploiement de plusieurs services
ensemble (ex. : bot + base de données) ?