Outils du développeur · Manuel numérique interactif
Docker & Conteneurisation — Manuel interactif
Guide interactif complet de 84 pages avec ateliers pratiques et corrigés pour le cégep 2e année (Techniques de l'informatique). Isolation Linux par cgroups et namespaces, manipulation avancée des conteneurs, rédaction de Dockerfiles multi-étapes sécurisés, persistance par volumes nommés, réseaux virtuels isolés avec DNS interne, et orchestration multi-services avec Docker Compose.
Ce que vous apprendrez
Manuel officiel de 84 pages structuré pour le niveau collégial québécois 2e année (420.B0)
Architecture des conteneurs légers vs machines virtuelles (cgroups, namespaces et chroot)
Gestion complète du cycle de vie des conteneurs et drapeaux d'isolation en ligne de commande
Conception de Dockerfiles optimisés, mise en cache des couches et builds multi-étapes sécurisés
Persistance robuste des données d'entreprise par volumes nommés et montages liés (bind mounts)
Réseaux virtuels isolés, résolution de noms DNS automatique et sécurité inter-conteneurs
Orchestration multi-services avec Docker Compose, vérifications d'état et projet intégrateur
Table des matières
Fondamentaux de la conteneurisation et architecture de Docker
Le problème historique de l'incompatibilité des environnements
Comparaison structurelle : conteneurs légers versus machines virtuelles
Les piliers du noyau Linux : namespaces, cgroups et isolation
Architecture interne de Docker : moteur, démon, client et registres
Installation et configuration de Docker Desktop sous WSL 2, macOS et Linux
Prise en main de l'interface en ligne de commande et premier conteneur
Exécution interactive versus exécution en arrière-plan
Gestion des ports réseau et redirection vers l'hôte
Inspection approfondie des métadonnées d'un conteneur
Visualisation des journaux d'exécution et diagnostic des pannes
Surveillance de la consommation des ressources processeur et mémoire
Nettoyage automatique et gestion de l'espace disque de travail
Atelier pratique : mise en place d'un serveur web Nginx isolé
Corrigé détaillé de l'atelier pratique et validation collégiale
Manipulation des images et gestion du cycle de vie des conteneurs
Anatomie d'une image Docker et système de fichiers en couches
Recherche, inspection et sélection d'images officielles sur Docker Hub
Gestion des étiquettes et stratégies de balisage sémantique
Téléchargement et mise en cache des couches d'images
Cycle de vie complet d'un conteneur : création, pause, arrêt et suppression
Variables d'environnement et transmission de configurations dynamiques
Politiques de redémarrage automatique en environnement de production
Exécution de commandes dans un conteneur actif avec docker exec
Transfert sécurisé de fichiers entre l'hôte et le conteneur
Exportation, sauvegarde et archivage d'images en fichiers tar
Sécurité et analyse des vulnérabilités avec Docker Scout
Gestion des limites strictes de ressources processeur et mémoire
Atelier pratique : déploiement et maintenance d'un serveur Redis
Corrigé détaillé de l'atelier pratique et critères de succès
Conception et optimisation de Dockerfiles professionnels
Structure standardisée et syntaxe fondamentale d'un Dockerfile
Sélection rigoureuse des images de base : Debian, Alpine et Distroless
Gestion des dépendances et installation propre avec gestionnaires de paquets
Copie sélective des fichiers et configuration du fichier .dockerignore
Différence fondamentale entre les directives CMD et ENTRYPOINT
Optimisation du cache de construction et agencement stratégique des couches
Exécution sous un utilisateur non privilégié pour la sécurité collégiale
Surveillance de l'état de fonctionnement avec la directive HEALTHCHECK
Définition de métadonnées descriptives avec l'instruction LABEL
Builds multi-étapes pour les applications Node.js et React
Builds multi-étapes pour les microservices Java avec Maven et GraalVM
Signature et validation d'intégrité des images produites
Atelier pratique : conteneurisation d'une API web Node.js sécurisée
Corrigé détaillé de l'atelier pratique et analyse des métriques
Persistance des données et gestion avancée des volumes
Le modèle de stockage éphémère et les risques de perte de données
Comparaison des mécanismes de persistance : volumes, bind mounts et tmpfs
Création, inspection et gestion du cycle de vie des volumes nommés
Utilisation des montages liés pour le développement en direct
Attribution des permissions de fichiers et gestion des utilisateurs
Persistance fiable pour une base de données PostgreSQL
Persistance et réplication pour un système de fichiers distribué
Sauvegarde automatisée d'un volume vers une archive compressée
Restauration d'un volume Docker à partir d'une sauvegarde
Partage sécurisé de données entre plusieurs conteneurs simultanés
Gestion des pilotes de stockage tiers et volumes en nuage
Nettoyage méthodique des volumes orphelins et audit d'espace
Atelier pratique : persistance et sauvegarde d'une base PostgreSQL
Corrigé détaillé de l'atelier pratique et validation des données
Réseaux virtuels et communication multi-conteneurs
Principes fondamentaux du réseau virtuel dans l'architecture Docker
Pilotes réseau intégrés : bridge, host, none et macvlan
Limites du réseau par défaut et création de réseaux définis par l'utilisateur
Résolution de noms automatique par le serveur DNS interne de Docker
Isolation réseau et segmentation des couches applicatives
Communication sécurisée entre un frontal web et une API dorsale
Connexion d'un conteneur à plusieurs réseaux virtuels distincts
Publication et mappage sélectif de ports sur des interfaces spécifiques
Inspection de la table de routage et outils de diagnostic réseau
Gestion des variables de substitution et adresses IP statiques
Sécurisation des flux réseau avec TLS et chiffrement inter-conteneurs
Réseaux overlay et introduction aux grappes multi-hôtes
Atelier pratique : interconnexion isolée entre une API et sa base de données
Corrigé détaillé de l'atelier pratique et vérification de connectivité
Orchestration multi-services avec Docker Compose et projet intégrateur
Limites de la ligne de commande unitaire et justification de Compose
Structure formelle du fichier de spécification compose.yaml
Définition des services, variables d'environnement et contextes de build
Configuration avancée des réseaux et des volumes dans Compose
Gestion de l'ordre de démarrage avec depends_on et conditions de santé
Profils de déploiement pour alterner entre environnements de dev et test
Commandes essentielles : up, down, stop, restart, ps et top
Mise à l'échelle horizontale d'un service avec l'option --scale
Gestion des secrets d'entreprise et données sensibles avec Compose
Surveillance collective des journaux avec filtrage multi-services
Fichiers de surcharge pour la spécialisation des configurations locales
Bonnes pratiques de production et préparation aux orchestrateurs Kubernetes
Grand projet intégrateur : déploiement d'une pile trois tiers collégiale
Corrigé exhaustif du projet intégrateur et bilan de la formation