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ésentielDuré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.