- 1.1 Qu'est-ce que Docker et la conteneurisation
- 1.2 Différences entre conteneurs et machines virtuelles
- 1.3 Architecture de Docker (Docker Engine, Docker Client, Docker Daemon)
- 1.4 Cas d'usage et avantages de Docker
- 2.1 Installation de Docker selon votre système d'exploitation
- 2.2 Configuration post-installation
- 2.3 Vérification de l'installation
- 2.4 Docker Desktop vs Docker Engine
- 3.1 Images Docker
- 3.2 Conteneurs Docker
- 3.3 Registres Docker (Docker Hub)
- 3.4 Le cycle de vie d'un conteneur
- 4.1 Rechercher et télécharger des images (pull, search)
- 4.2 Lancer et gérer des conteneurs (run, start, stop, restart)
- 4.3 Lister et inspecter (ps, images, inspect)
- 4.4 Supprimer conteneurs et images (rm, rmi, prune)
- 4.5 Interagir avec les conteneurs (exec, logs, attach)
- 5.1 Comprendre le Dockerfile
- 5.2 Instructions de base (FROM, RUN, COPY, ADD) et la différence cruciale entre CMD et ENTRYPOINT
- 5.3 Instructions avancées (ENV, WORKDIR, EXPOSE, USER, VOLUME)
- 5.4 Construction d'images (build, tag)
- 5.5 Optimisation des Dockerfiles et layers
- 6.1 Comprendre la persistance des données
- 6.2 Les volumes Docker (nommés et anonymes)
- 6.3 Les bind mounts
- 6.4 Comparaison et choix entre volumes et bind mounts
- 7.1 Principes des réseaux dans Docker
- 7.2 Types de réseaux (bridge, host, none, overlay)
- 7.3 Créer et gérer des réseaux personnalisés
- 7.4 Communication entre conteneurs
- 8.1 Introduction à Docker Compose
- 8.2 Structure du fichier docker-compose.yml
- 8.3 Définir des services multiples
- 8.4 Gestion des dépendances entre services
- 8.5 Commandes Docker Compose (up, down, logs, ps)
- 9.1 Publier des images sur Docker Hub
- 9.2 Gestion des tags et versions
- 9.3 Introduction aux registres privés
10. Bonnes pratiques
- 10.1 Sécurité des conteneurs
- 10.2 Optimisation de la taille des images
- 10.3 Gestion des secrets et variables d'environnement
- 10.4 Logging et monitoring
- 10.5 Nommage et organisation des ressources