Files
landing-web/content/docs/recapitulatif.mdx
T
leonm fb3d3b5443
CI / 🔍 Lint & Type Check (push) Successful in 1m37s
CI / 🐳 Build & Push Image (push) Successful in 43s
docs: add server and CI/CD guides
2026-07-19 21:09:08 +02:00

67 lines
2.9 KiB
Plaintext

---
title: Récapitulatif
description: Toutes les notions du cours Docker en une page.
---
| Notion | En une phrase |
| --- | --- |
| Docker | Empaquette l'application et son environnement dans une image reproductible. |
| Engine / Desktop | Engine est le daemon Linux ; Desktop le fait tourner dans une VM Linux sur Mac et Windows. |
| Conteneur / VM | Une VM possède un noyau invité ; un conteneur partage le noyau de l'hôte. |
| Image | Template figé en lecture seule, composé de couches, existant ou construit par un Dockerfile. |
| Cycle | Code + Dockerfile → build → image → run → conteneur. |
| Compose | Décrit et orchestre une stack multi-services dans un YAML déclaratif. |
| Volume | Stockage persistant découplé du conteneur et géré par Docker. |
| Réseau | Réseau bridge privé où les services se joignent par leur nom. |
| Mapping de ports | Publie un port du conteneur vers l'hôte ; le reste demeure interne. |
| Serveur | Accès par clé, compte non-root, ports minimaux, correctifs et sauvegardes testées. |
| CI | Vérifie chaque changement avant qu'il atteigne la branche principale. |
| CD | Publie une image versionnée puis déploie la même image dans un environnement protégé. |
| Déploiement | Pull d'un tag immuable, remplacement des conteneurs, contrôles de santé et rollback. |
| Testcontainers | Infrastructure réelle, isolée et jetable, démarrée par les tests. |
## Les commandes essentielles
```bash
# Construire une image
docker build -t mon-app:1.0.0 .
# Lancer un conteneur
docker run --rm mon-app:1.0.0
# Démarrer une stack Compose
docker compose up -d --build
# Voir les conteneurs
docker compose ps
# Suivre les journaux
docker compose logs --follow
# Arrêter la stack sans supprimer les volumes
docker compose down
# Récupérer et lancer les images de production
docker compose pull
docker compose up -d --no-build
```
## Les règles à retenir
1. Épingle les versions des images au lieu de dépendre de `latest`.
2. Ordonne le Dockerfile du plus stable au plus volatil.
3. Utilise un `.dockerignore` pour garder un contexte de build propre.
4. Sépare le builder et le runtime avec un build multi-stage.
5. Stocke les données persistantes dans des volumes sauvegardés.
6. Utilise les noms de services, pas `localhost`, entre conteneurs.
7. Ne publie que les ports réellement nécessaires.
8. Sécurise le serveur et teste les sauvegardes avant le premier déploiement.
9. Construis l'image dans la CI et exécute cette même image en production.
10. Versionne chaque image et conserve le tag précédent pour le rollback.
11. Déploie avec une clé dédiée et des permissions limitées.
12. Préfère une infrastructure de test réelle et isolée lorsque l'intégration compte.
<Callout title="Fin du cours" type="success">
Reviens au [cas pratique](/docs/cas-pratique/react-nest-postgresql) pour la stack applicative, puis suis le [flux CI/CD complet](/docs/ci-cd/flux-complet) pour aller jusqu'à la production.
</Callout>