- ACN_ATLAS
- Cours pratique
- FSE
- Informatique
Formation Docker : Créer et Administrer vos conteneurs virtuels d'applications avec Docker

- Durée
- 3 jours
- Niveau
- Intermédiaire
- Modalités
- Présentiel / Distanciel
Description de la formation Conteneurs Docker

Objectifs pédagogiques
À l'issue de cette formation Docker : Créer et Administrer vos conteneurs virtuels d'applications avec Docker, vous aurez acquis les connaissances nécessaires pour :
- Comprendre l'écosystème Docker et ses composants.
- Créer et administrer des conteneurs et des images, et les distribuer via des registres.
- Créer et gérer des volumes et des réseaux Docker.
- Déployer des applications multi-conteneurs avec Docker Compose.
- Sécuriser les images et l'exécution des conteneurs.
- Optimiser la taille, la construction et la consommation de ressources des conteneurs.
- Exploiter et superviser des conteneurs en production.
Objectifs opérationnels
Savoir créer, administrer et sécuriser des conteneurs d'applications Docker pour des environnements portables.
Programme
Contenu du cours, module par module
12 modules
- Virtualisation et conteneurs : différences et cas d'usage
- Docker dans la démarche DevOps et l'Infrastructure as Code
- Les mécanismes du noyau Linux : namespaces et cgroups
- L'écosystème : Docker Engine, containerd, runc, standard OCI, Docker Desktop, Compose, registres
Travaux pratiques
Description :Les participants installent Docker Engine et lancent leurs premiers conteneurs. Ils observent depuis l'hôte les processus et l'isolation mise en place par les namespaces. Ils comparent le temps de démarrage et l'empreinte d'un conteneur avec ceux d'une machine virtuelle. Qu'est-ce qui distingue fondamentalement un conteneur d'une machine virtuelle ? Un QCM rapide valide les acquis.
- Client, daemon et API Docker
- Images, couches et principe de la copie sur écriture
- Les options de docker run : ports, variables, ressources, redémarrage
- Inspecter, se connecter, consulter les logs, arrêter et supprimer un conteneur
Travaux pratiques
Description :Les participants déploient un serveur web conteneurisé avec différentes options d'exécution. Ils inspectent sa configuration, se connectent à l'intérieur et consultent ses logs. Ils configurent une politique de redémarrage automatique et la testent. Pourquoi un conteneur doit-il être considéré comme jetable ? La manipulation correcte de toutes les étapes du cycle de vie sert de validation.
- Nommage, tags et versions des images
- Pull, push, history et gestion du cache local
- Docker Hub et registre privé avec Harbor
- Créer une image depuis un conteneur, et pourquoi l'éviter
- Nettoyage des images et ressources inutilisées
Travaux pratiques
Description :Les participants récupèrent des images officielles et analysent leurs couches. Ils retaguent une image et la poussent vers un registre privé Harbor. Ils nettoient ensuite les images et ressources inutilisées de leur hôte. Quelle convention de tag permet de garantir la traçabilité des versions déployées ? L'image retrouvée et réutilisée depuis le registre valide l'exercice.
- Les instructions du Dockerfile : FROM, RUN, COPY, ENV, ARG, EXPOSE
- ENTRYPOINT et CMD : rôles et combinaisons
- Fichier .dockerignore et contexte de build
- Sondes de santé avec HEALTHCHECK
Travaux pratiques
Description :Les participants écrivent le Dockerfile d'une application web à partir de son code source. Ils paramètrent l'image avec des arguments de build et des variables d'environnement. Ils ajoutent une sonde de santé et vérifient son état. Quelle différence de comportement observe-t-on entre ENTRYPOINT et CMD ? L'application fonctionnelle dans son conteneur valide l'exercice.
- Les pilotes réseau : bridge, host, none, overlay
- Réseaux définis par l'utilisateur et résolution DNS interne
- Publication de ports et exposition des services
- Isolation et segmentation des communications entre conteneurs
Travaux pratiques
Description :Les participants créent plusieurs réseaux pour une application en trois tiers. Ils vérifient la résolution des noms entre conteneurs d'un même réseau. Ils confirment l'impossibilité de communiquer entre réseaux séparés. Pourquoi éviter le réseau bridge par défaut en production ? Les tests de connectivité attendus servent de validation.
- Le problème de la persistance dans les conteneurs
- Volumes, bind mounts et tmpfs : usages et différences
- Pilotes de volumes et stockage distant
- Sauvegarde, restauration et identification des volumes orphelins
Travaux pratiques
Description :Les participants déploient une base de données avec un volume nommé. Ils suppriment puis recréent le conteneur et vérifient la conservation des données. Ils sauvegardent le volume et le restaurent sur un nouveau conteneur. Dans quel cas un bind mount est-il préférable à un volume ? La restauration réussie des données valide l'exercice.
- Le format compose.yaml : services, réseaux, volumes
- Dépendances entre services et conditions de santé
- Commandes docker compose : démarrage, logs, mise à l'échelle, arrêt
- Mise à jour d'un service sans reconstruire la pile
Travaux pratiques
Description :Les participants décrivent une pile web, application et base de données dans un fichier Compose. Ils définissent les réseaux, les volumes et l'ordre de démarrage conditionné aux sondes de santé. Ils mettent à jour un service sans interrompre les autres. Comment garantir qu'un service ne démarre que lorsque sa base de données est prête ? La pile opérationnelle après mise à jour valide l'exercice.
- Variables, fichier .env et surcharge de configuration
- Profils et environnements multiples
- Gestion des secrets
- Construction d'images depuis Compose, labels et journalisation
Travaux pratiques
Description :Les participants externalisent la configuration de leur pile dans des variables et un fichier .env. Ils créent un profil de développement et un profil de production. Les mots de passe sont déplacés dans des secrets. Comment éviter qu'une information sensible se retrouve dans le dépôt Git ? Le déploiement de la même pile sur deux environnements valide l'exercice.
- Choisir ses images de base : officielles, minimales, distroless
- Exécuter avec un utilisateur non root
- Analyse du Dockerfile avec Hadolint
- Scan de vulnérabilités et SBOM avec Docker Scout et Trivy
- Signature et vérification des images
Travaux pratiques
Description :Les participants analysent le Dockerfile écrit le premier jour et en corrigent les mauvaises pratiques. Ils scannent l'image, interprètent les vulnérabilités détectées et changent d'image de base. Ils comparent le nombre de vulnérabilités avant et après correction. Quelle mesure réduit le plus la surface d'attaque d'une image ? Le rapport de scan final sans vulnérabilité critique valide l'exercice.
- Surface d'attaque : daemon, socket Docker, noyau partagé
- Mode rootless et remappage des utilisateurs
- Capabilities Linux, profils seccomp et AppArmor
- Système de fichiers en lecture seule et option no-new-privileges
- Bonnes pratiques d'administration de l'hôte Docker
Travaux pratiques
Description :Les participants tentent plusieurs actions dangereuses depuis un conteneur lancé avec ses droits par défaut. Ils retirent ensuite les capabilities inutiles, passent le système de fichiers en lecture seule et appliquent un profil seccomp. Ils rejouent les mêmes tentatives et constatent leur blocage. Pourquoi l'accès au socket Docker équivaut-il à un accès root sur l'hôte ? Le conteneur durci et toujours fonctionnel valide l'exercice.
- Builds multi-étapes et réduction de la taille des images
- Ordre des couches, cache de build et BuildKit
- Images multi-architectures avec buildx pour la portabilité
- Limites de CPU et de mémoire, pilote de stockage overlay2
Travaux pratiques
Description :Les participants transforment leur Dockerfile en build multi-étapes et réorganisent les couches pour exploiter le cache. Ils mesurent la taille de l'image et le temps de construction avant et après. Ils produisent une image pour deux architectures et fixent des limites de ressources. Quel gain de taille le build multi-étapes apporte-t-il sur l'application fil rouge ? La comparaison chiffrée avant et après optimisation valide l'exercice.
- Configuration du daemon Docker
- Pilotes de journalisation et centralisation des logs
- Supervision : docker stats, docker events, cAdvisor
- Limites de Docker seul et apport d'un orchestrateur : Swarm, Kubernetes
Travaux pratiques
Description :Les participants configurent le daemon avec un pilote de journalisation et une rotation des logs. Ils déploient cAdvisor et observent la consommation de leur pile Compose sous charge. Ils identifient un conteneur qui dépasse ses limites et corrigent sa configuration. À partir de quel moment Docker seul ne suffit-il plus et faut-il un orchestrateur ? Le tableau de bord de supervision opérationnel clôture la formation.
Travaux pratiques
Travaux réalisés avec Docker Engine, Docker Compose, BuildKit, un registre privé Harbor et des outils d'analyse d'images (Docker Scout, Trivy). Environ 60 % du temps est consacré aux travaux pratiques.
Programme mis à jour le 26/01/2025
Public concerné
Ingénieurs DevOps, responsables de production et architectes applicatifs souhaitant conteneuriser, administrer et sécuriser des applications avec Docker.

Prérequis
Une connaissance de Git et des bases de la démarche DevOps est nécessaire pour situer Docker dans la chaîne de livraison. Une pratique de la ligne de commande Linux est recommandée, car tous les travaux pratiques se font avec la CLI Docker. Les commandes utiles sont rappelées en début de formation.
J’évalue mes connaissances pour vérifier que je dispose des prérequis nécessaires pour profiter pleinement de cette formation en faisant le test de prérequis.
Faire le testFinancement
Cette formation peut être prise en charge par votre entreprise, seule ou avec l’appui de son opérateur de compétences. Nous fournissons le devis et les pièces attendues par l’OPCO.
4,7/5
152 avis
« Mon avis sur le contenu du stage : "Il y a eu très peu de support de cours puisque principalement basé sur des TP, ce qui était très bien. Mais difficile d’évaluer un support non utilisé. Quant au niveau technique, c’était une formation de base, donc les notions abordées n’étaient pas très compliquées à assimiler. L’approche TP était très satisfaisante." Mon avis sur le formateur : "Des échanges agréables, un sujet maîtrisé, une bonne adaptation aux conditions techniques (VM), Cyril a fait preuve de maturité et d’efficacité dans son rôle. La formation ayant été réduite à 2 jours (au lieu de 3), je pense qu’il a volontairement limité les questions et recherches individuelles des stagiaires pour tenir le timing, ce qui réduit un peu l’efficacité pédagogique." Mon avis sur la salle de formation : "C’était "à domicile", donc locaux et matériels connus. Toutefois, les contraintes imposées par l’Infrastructure informatique (VM…) ont amené à quelques mauvaises surprises dans l’utilisation des logiciels ; mais aussi à quelques scénarios intéressants qui n’auraient pas existé autrement. Un mal pour un bien ?!" Ce que j'ai le plus apprécié : "La qualité du formateur dans les échanges et ses connaissances du sujet, la pratique quasi immédiate." Ce que j'ai le moins apprécié : "La VM partagée, l’aspect trop "guidé" des exercices, sans vraiment laisser le temps de réfléchir aux pistes/solutions." »
HAGAMAC « Mon avis sur le contenu du stage : "Formation dense et très intéressante" Mon avis sur le formateur : "Animateur très compétent, calme et méthodique, qui a déroulé le contenu en flux constant mais en nous venant en aide si besoin. Le fait d'être en groupe de 4 a aidé à ne pas être "largué", chose qui pourrait facilement arriver étant donné le débit d'informations. Au final, la quantités de TPs a été adaptée par le formateur de manière totalement transparente pour nous, pour couvrir l'essentiel du programme dans le temps imparti" Ce que j'ai le plus apprécié : "Le travail depuis chez soi, sur son propre matériel, connecté à distance sur des machines assez puissantes mises à notre disposition et déjà configurées correctement pour suivre les TPs est vraiment un mode de travail qui me convient. Le site de plb est vraiment très propre, la gestions des signatures/documents/évaluations est vraiment bien faite et ergonomique" Ce que j'ai le moins apprécié : "La mauvaise qualité de connexion internet du formateur a directement impacté la qualité de son audio" »
GPALTEN SA « Mon avis sur le contenu du stage : "Le contenu répond parfaitement à mes attentes" Mon avis sur le formateur : "Samir est un formateur disponible, pédagogue et avec de réelles compétences techniques avérées. Il connait très bien son sujet, fait des retours d'expériences et appui ses explication avec des schémas personnels et des démos. Pour moi c'est à cela qu'on reconnait un "vrai" formateur et non juste une personne qui déroule des slides sans aucun retour d'expérience ni valeur ajoutée. Etant également formateur en école d'ingénieur je procède de la même manière. Chapeau à Samir :)" Ce que j'ai le plus apprécié : "Espace de formation complets et facile à Utiliser. Réunion via Teams" Ce que j'ai le moins apprécié : "L'espace de formation bugge beaucoup le matin vers 9h et en début d'après-midi à 14h, ce qui rends impossible l'émargement (Pas de prise en compte de la signature). Il faut recommencer plus tard dans la journée. Il faudrait investiguer ce problème technique. Les autres apprenants ont eu le même soucis" »
JEHANNO JohathanORANGE BUSINESS SERVICES SA
Les avis figurant ci-dessus sont issus des fiches d’évaluation que remplissent les participants à la fin de la formation. Ils sont ensuite publiés automatiquement si les personnes ont explicitement accepté que nous les diffusions.
Formations liées
- Infrastructure DevOps : Les outilsRéf. OODO3 joursFondamentalProchaine session : 21 déc.2 090 €
- DevOps : démarche et outils (cours dédié aux actions collectives Atlas)Réf. OODA2 joursIntermédiaireProchaine session : 21 déc.1 590 €
- Docker : Les fondamentaux de la conteneurisation (cours officiel)Réf. DOCKF1 jourFondamentalProchaine session : 7 déc.950 €
- Docker : Maîtriser DockerRéf. UDMC5 joursIntermédiaireProchaine session : 7 déc.3 050 €