Muvatsi KYAHIMBA MESSAGER
3 Ing. Cloud Computing & Data Sec
TD1. Conteneurisation
PARTIE I
1. Un Dockerfile est un fichier texte qui contient toutes les commandes nécessaires pour construire une
image donnée.
2. Un conteneur Docker est une instance d’une application créée à partir d’une image Docker.
3. Vrai ; un conteneur Docker est effectivement une instance d’une image Docker, exécutée avec une
configuration spécifique. Cette configuration peut inclure des paramètres tels que les variables
d’environnement, les volumes montés, les ports exposés et les limites de ressources.
4. L'instruction FROM doit toujours être la première dans un fichier Dockerfile (à l'exception des
commentaires).
5. La commande pour déposer une image locale dans un registre Docker est :
docker push <nom_image>:<tag>
6. Lorsque le runtime Docker est installé sur un hôte, une interface réseau virtuelle appelée docker0
est automatiquement créée.
7. La commande pour prendre un snapshot d’un conteneur Docker actuel et le transformer en une
nouvelle image est :
docker commit <id_conteneur> <nom_image>:<tag>
PARTIE II
1. Il n’y a pas de limite définie au nombre de conteneurs que Docker peut exécuter. Cela dépend des
ressources matérielles (CPU, RAM, stockage) et de la taille de l’application. Avec une application
légère et des ressources CPU suffisantes, un grand nombre de conteneurs peut être exécuté.
2. Oui, on peut utiliser JSON au lieu de YAML pour le fichier docker-compose. Il suffit d'exécuter
docker-compose -f [Link] up.
3. Les données restent dans le conteneur jusqu'à sa suppression.
4. Un ingénieur DevOps automatise et optimise les processus de développement et de déploiement
logiciel, en intégrant le développement (Dev) et les opérations (Ops).
5. DevOps se concentre sur l'automatisation et l'intégration continue, tandis qu'Agile se concentre sur
la gestion flexible des projets et la collaboration.
6. Quelques outils DevOps populaires sont :
Jenkins (CI/CD)
Docker (containers)
Kubernetes (orchestration de containers)
Ansible (automatisation de configuration)
Terraform (gestion de l'infrastructure)
Git (contrôle de version)
Prometheus (monitoring)
Nagios (monitoring des systèmes).