190 lines
3.2 KiB
Markdown
190 lines
3.2 KiB
Markdown
---
|
||
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
|
||
|
||

|
||
|
||
---
|
||
|
||
# Les images
|
||
|
||
* Point de départ
|
||
* Archives / Snapshot
|
||
* On ne refait pas la roue
|
||
|
||

|
||
|
||
---
|
||
|
||
# Le registre
|
||
|
||
* Distributeur d’images
|
||
* Sécurité ?
|
||
* Docker Hub
|
||
* Exemple :
|
||
* ECS (AWS)
|
||
* Artifact Registry (Google Cloud)
|
||
|
||
---
|
||
|
||
# L’empilement des couches (Layers)
|
||
|
||
* Structure en couche
|
||
* Partage des couches
|
||
|
||

|
||
|
||
---
|
||
|
||
# Cycle de Vie des Conteneurs Docker
|
||
|
||
- Introduction au cycle de vie des conteneurs
|
||
- États possibles et transitions
|
||
- Commandes de gestion
|
||

|
||
|
||
|
||
---
|
||
|
||
# É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
|
||

|
||
|
||
---
|
||
|
||
# Les volumes
|
||
|
||
* Persistance des données
|
||
* Indépendance vis à vis des conteneurs/layers
|
||
* Deux types de volume:
|
||
* Conteneur : data conteneur
|
||
* Hôte : dossier
|
||
|
||
 |