Files
DEV_42_Docker/04_docker.md

190 lines
3.2 KiB
Markdown
Raw Permalink Normal View History

2026-03-11 15:11:31 +01:00
---
marp: true
theme: default
paginate: true
backgroundColor: #fff
footer: 'Conteneurisation - Partie 1 - 2025'
style: |
section {
font-family: 'Arial', sans-serif;
}
h1 {
color: #2496ed;
}
h2 {
color: #384c54;
}
---
# 3. La conteneurisation
## Cas de docker
---
# Conteneur
* Environnement isolé
* Système hôte
* Fonctions de configuration
* Dépend de l'hôte/kernel
---
# Les types de conteneurs
* **System :**
* simule une **séquence de boot** complète avec
un **init process** ainsi que **plusieurs processus** (LXC,
OpenVZ).
* **Process :**
* un conteneur **exécute un ou plusieurs processus** directement, en fonction de l'application conteneurisée (Docker, Rkt).
---
# Notion importantes
* Cgroups (Control Groups)
* Namespaces
![bg right:65% 100%](assets/cgroups_namesspaces.png)
---
# Les images
* Point de départ
* Archives / Snapshot
* On ne refait pas la roue
![bg right:60% 100%](./assets/images.png)
---
# Le registre
* Distributeur dimages
* Sécurité ?
* Docker Hub
* Exemple :
* ECS (AWS)
* Artifact Registry (Google Cloud)
---
# Lempilement des couches (Layers)
* Structure en couche
* Partage des couches
![alt text](./assets/layers.png)
---
# Cycle de Vie des Conteneurs Docker
- Introduction au cycle de vie des conteneurs
- États possibles et transitions
- Commandes de gestion
![bg right:48% 100%](./assets/lifecycle.png)
---
# États des Conteneurs Docker
**Created**
- Conteneur créé mais pas encore démarré
- `docker create`
**Running**
- Conteneur en cours d'exécution
- `docker run`, `docker start`
- Processus actifs à l'intérieur
---
# États des Conteneurs Docker
**Paused**
- Conteneur en pause (processus gelés)
- `docker pause`, `docker unpause`
**Stopped**
- Conteneur arrêté (processus terminés)
- `docker stop`, `docker kill`
---
# Commandes Principales de Gestion
**Création et Démarrage**
```bash
docker run # Crée et démarre un conteneur
docker start # Démarre un conteneur existant
```
**Gestion des États**
```bash
docker pause # Met en pause un conteneur
docker unpause # Reprend l'exécution
docker stop # Arrête proprement (SIGTERM)
docker kill # Arrête immédiatement (SIGKILL)
```
---
# Commandes Principales de Gestion
**Suppression**
```bash
docker rm # Supprime un conteneur arrêté
docker rm -f # Force la suppression d'un conteneur
```
---
# Inspection et Débug
**Commandes utiles**
```bash
docker ps # Liste les conteneurs en cours d'exécution
docker ps -a # Liste tous les conteneurs
docker logs # Affiche les logs du conteneur
docker exec # Exécute une commande dans un conteneur
docker stats # Affiche les statistiques d'utilisation
```
**Points importants**
- Un conteneur peut être redémarré (`docker restart`)
- Les données sont persistantes entre les redémarrages
- Les volumes permettent de persister les données même après suppression
---
# TP1
---
# Le stockage
* AUFS
* DeviceMapper
* OverlayFS
* Plugins
![bg right:65% 100%](./assets/stockage.png)
---
# Les volumes
* Persistance des données
* Indépendance vis à vis des conteneurs/layers
* Deux types de volume:
* Conteneur : data conteneur
* Hôte : dossier
![bg right:60% 100%](./assets/volume.png)