Docker - Créer et administrer ses conteneurs virtuels d'application

Maîtriser Docker : images, volumes, réseaux et applications multi-conteneurs

Formation créée le 02/04/2026.
Version du programme : 2

Type de formation

Présentiel

Durée de formation

21 heures (3 jours)
Cette formation est gratuite.
S'inscrire
Cette formation est gratuite.
S'inscrire
Cette formation est gratuite.
S'inscrire

Docker - Créer et administrer ses conteneurs virtuels d'application

Maîtriser Docker : images, volumes, réseaux et applications multi-conteneurs


Cette formation Docker vous permettra de maîtriser la création et l'administration de conteneurs virtuels d'application. Vous apprendrez à gérer les images, les volumes, les réseaux et les applications multi-conteneurs avec Docker. La formation est conçue pour les développeurs, les administrateurs système et les ingénieurs DevOps souhaitant acquérir des compétences opérationnelles en conteneurisation.

Objectifs de la formation

  • Comprendre l'architecture de Docker et le positionnement des conteneurs dans un écosystème DevOps
  • Créer, administrer et superviser des conteneurs Docker via la CLI
  • Construire des images personnalisées avec Dockerfile, en appliquant les bonnes pratiques de taille et de sécurité
  • Gérer les réseaux Docker et assurer la persistance des données avec les volumes
  • Orchestrer des applications multi-conteneurs avec Docker Compose V2
  • Sécuriser ses images et ses conteneurs : utilisateur non-root, capabilities, secrets, scan de vulnérabilités
  • Intégrer Docker dans un pipeline CI/CD et comprendre les perspectives vers l'orchestration à l'échelle

Profil des bénéficiaires

Pour qui
  • Développeurs, administrateurs système, ingénieurs DevOps, architectes applicatifs souhaitant prendre en main Docker de manière opérationnelle.
Prérequis
  • Connaissances de base d'un environnement Linux/Unix (navigation terminal, commandes de base). Une première expérience en développement ou administration système est recommandée.

Contenu de la formation

Positionnement de Docker et des conteneurs
  • Niveaux de virtualisation : système vs applicatif
  • Conteneurisation vs virtualisation : avantages, limites, complémentarité
  • Docker dans l'écosystème DevOps : Infrastructure as Code, CI/CD, microservices
  • Vocabulaire de référence : image, conteneur, registry, daemon, Dockerfile, Compose
  • Introduit en évocation : Podman comme alternative rootless à Docker
Architecture de Docker
  • Daemon Docker et architecture client/serveur
  • API Docker et communication client/moteur
  • Composants fondamentaux : images, registry, conteneurs
  • Docker Engine (Linux) et Docker Desktop (Windows/macOS) : différences et cas d'usage
  • Syntaxe actuelle : docker compose sans tiret (Compose V1 docker-compose supprimée depuis juin 2023) ; version de Docker Engine adaptée à l'environnement de lab
Gestion des images et des registres
  • Cycle de vie d'une image : couches, cache, historique
  • Docker Hub : navigation, pull, push, nommage des images
  • Registre privé : création et administration
  • Approfondi en TP : push d'une image personnalisée sur Docker Hub, déploiement d'un registre privé local
  • Introduit en évocation : Harbor comme solution de registre d'entreprise
Conteneurs : création et administration
  • Instanciation d'un conteneur à partir d'une image
  • Options clés du run : modes interactif/détaché, nommage, variables d'environnement, limites de ressources CPU/mémoire
  • Cycle de vie : start, stop, restart, rm
  • Gestion au quotidien : exec, logs, inspect, stats
  • Approfondi en TP : déploiement et administration d'une application web dans un conteneur
Réseau Docker
  • Modèle réseau natif Docker : bridge, host, none
  • Publication de ports avec publish
  • Création de réseaux virtuels, DNS interne, communications inter-conteneurs
  • Approfondi en TP : exposition d'un service selon différents modes réseau
Volumes et persistance des données
  • Problème de la persistance dans les conteneurs
  • Types de stockage : bind mount, volumes nommés, tmpfs -- usages et différences
  • Identification et nettoyage des volumes orphelins
  • Approfondi en TP : persistance d'une base de données PostgreSQL
Dockerfile : construction d'images personnalisées
  • Instructions fondamentales : FROM, RUN, CMD, ENTRYPOINT, COPY, ADD, EXPOSE, ENV, ARG
  • Multi-stage builds : réduction de la taille des images de production, images distroless et alpine
  • Bonnes pratiques : minimisation des couches, nettoyage des caches, utilisateur non-root, .dockerignore
  • BuildKit : builder par défaut depuis Docker Engine 23, avantages en performance et parallélisation du cache
  • Approfondi en TP : images avec et sans multi-stage build, mesure de l'impact sur la taille
Docker Compose V2 : orchestration multi-conteneurs
  • Syntaxe docker compose (V2) et fichier compose.yaml (nom canonique recommandé)
  • Champ version obsolète et ignoré par Docker Compose actuel : explication et implications
  • Définition de services, réseaux et volumes dans compose.yaml
  • Commandes essentielles : up, down, ps, logs, exec, build
  • Dépendances entre services : depends_on avec condition service_healthy
  • Mise à jour, recréation contrôlée et retour à une version d'image précédente
  • Approfondi en TP : stack web PHP/MySQL/HAProxy avec répartition de trafic et tolérance simple aux incidents
Docker Compose : fonctions avancées
  • Variables d'environnement et fichier .env
  • Sondes de vitalité (healthcheck) : syntaxe et bonnes pratiques actuelles
  • Labels Docker : usage et interaction avec le daemon
  • docker compose watch : rechargement automatique en développement (introduit en démonstration)
  • Configuration avancée des volumes et des réseaux dans Compose
  • Approfondi en TP : stack ELK (Elasticsearch, Logstash, Kibana) pour la centralisation des logs
Sécurité des conteneurs
  • Surface d'attaque : noyau Linux, daemon Docker, images, registres
  • Bonnes pratiques dans le Dockerfile : utilisateur non-root, image de base minimale, multi-stage
  • Scan de vulnérabilités des images : Docker Scout (intégré au CLI Docker) approfondi en TP, Trivy introduit en démonstration
  • Linux capabilities : principe du moindre privilège, --cap-drop, --cap-add
  • Gestion des informations sensibles : comparaison d'usages entre variables d'environnement (.env), Docker secrets (montés dans /run/secrets/) et fichiers de configuration -- niveaux de sécurité et cas d'usage distincts, non interchangeables
  • Approfondi en TP : audit d'une image volontairement vulnérable, correction, scan avant/après
Exploitation de Docker au quotidien
  • Monitoring natif : docker stats, docker events
  • Gestion des ressources en production : limits CPU, mémoire, pids
  • Nettoyage et maintenance : docker system prune, system df
  • Docker dans les pipelines CI/CD : principes d'intégration avec GitLab CI ou GitHub Actions
  • Introduit en évocation : Docker dans le cloud (AWS ECS, Azure Container Instances, Google Cloud Run) ; Compose Bridge pour convertir un compose.yaml en manifests Kubernetes
Perspectives orchestration
  • Limites de Docker Compose en production multi-hôte
  • Docker Swarm : principes, noeuds manager/worker, ingress mesh -- introduit en évocation uniquement
  • Positionnement vers Kubernetes : critères de choix, suite naturelle avec le programme Ascent Kubernetes -- Mise en oeuvre
Atelier de synthèse
  • Revue des bonnes pratiques : image, réseau, volume, sécurité, compose
  • Atelier final : conteneurisation complète d'une application de bout en bout -- Dockerfile multi-stage + compose.yaml + réseau + volume + sécurité + scan Docker Scout

Équipe pédagogique

La formation est animée par un formateur expert en conteneurisation et pratiques DevOps, disposant d'une expérience opérationnelle en environnement de production.