Conteneurisation avec Docker
Formation pratique à Docker pour maîtriser la conteneurisation applicative : créer des images reproductibles, gérer les volumes et réseaux, orchestrer des services multi-conteneurs avec Docker Compose. De la théorie aux workflows de déploiement réels.
Demander un devisObjectifs pédagogiques
Contexte et enjeux
Docker est devenu le standard de facto pour la conteneurisation applicative. Dans un contexte où les équipes de développement et d'opérations convergent vers des pratiques DevOps, maîtriser Docker n'est plus une option : c'est une compétence de base pour tout développeur ou ingénieurs système qui souhaite livrer des applications de manière fiable et reproductible.
La conteneurisation résout le problème classique du "ça marche sur ma machine" en encapsulant l'application et toutes ses dépendances dans une unité portable. Docker permet d'isoler les services, de standardiser les environnements (développement, test, production) et de faciliter les déploiements continus. Docker Compose étend ces capacités à l'orchestration d'architectures multi-services complexes (API, base de données, cache, file de messages) depuis un seul fichier déclaratif.
Cette formation de 14 heures alterne théorie et ateliers pratiques intensifs. Les participants repartent avec un environnement Docker fonctionnel, des images qu'ils ont construites eux-mêmes, et un fichier Docker Compose opérationnel adapté à leur contexte métier.
L'adoption de Docker en France s'accélère dans tous les secteurs : les ESN, les éditeurs logiciels et les grandes entreprises qui internalisent leurs développements recherchent activement des profils maîtrisant la conteneurisation. Selon les données du marché de l'emploi tech, Docker figure dans plus de 60 % des offres d'emploi DevOps et développeur backend. Au-delà du CV, Docker est devenu un outil de productivité quotidienne : environnements de développement reproductibles, onboarding de nouveaux développeurs en quelques minutes, et pipelines CI/CD standardisés.
Cette formation pose les bases qui permettent ensuite de progresser vers Kubernetes (DEVOPS-010). La maîtrise de Docker Compose est notamment un prérequis implicite pour comprendre les concepts de services, de réseaux et de volumes que Kubernetes généralise à l'échelle. Les participants qui suivent DEVOPS-001 puis DEVOPS-010 disposent d'un parcours complet couvrant la conteneurisation du poste de développement jusqu'à la production cloud-native.
La formation DEVOPS-001 est accessible à tout développeur ou ingénieur système ayant des bases en ligne de commande Linux. Elle n'exige pas de connaissances préalables en Docker. Les participants travaillent sur leur propre machine (Mac, Windows avec WSL2, ou Linux) avec Docker Desktop. En fin de formation, l'environnement est fonctionnel et immédiatement réutilisable sur les projets réels. La formation peut être organisée en 2 sessions de 7h ou en 1 session intensive de 14h selon les contraintes de disponibilité de l'équipe.
Programme détaillé
Module 1 — Architecture Docker et concepts fondamentaux (3h)
- Conteneurs vs machines virtuelles : avantages et cas d'usage
- Architecture Docker : daemon, client, registre, images, conteneurs
- Installation et première prise en main (docker run, pull, ps, logs)
- Cycle de vie d'un conteneur : démarrage, arrêt, suppression
Module 2 — Créer et gérer des images Docker (3h)
- Anatomie d'un Dockerfile : FROM, RUN, COPY, WORKDIR, EXPOSE, CMD
- Layers et cache : optimiser la taille et le temps de build
- Multi-stage builds pour des images de production légères
- Publier et versionner ses images sur Docker Hub ou un registre privé
Module 3 — Réseau et volumes (2h)
- Modes réseau Docker : bridge, host, overlay, macvlan
- Communication entre conteneurs sur un réseau Docker personnalisé
- Volumes nommés et montages liés (bind mounts) : persistance des données
- Bonnes pratiques de gestion des données sensibles (secrets)
Module 4 — Docker Compose et applications multi-services (4h)
- Structure d'un fichier docker-compose.yml : services, réseaux, volumes
- Orchestrer une stack complète : API + base de données + reverse proxy
- Variables d'environnement et fichiers .env pour les configurations
- Profiles, dépendances entre services, healthchecks
- Atelier : déployer une application web complète avec Docker Compose
Module 5 — Sécurité et bonnes pratiques (2h)
- Principe du moindre privilège : utilisateurs non-root dans les conteneurs
- Scan de vulnérabilités des images (docker scout, trivy)
- Gestion des secrets : ne jamais stocker de credentials dans une image
- Ressources et limites CPU/mémoire pour les conteneurs en production