DevOps

Conteneuriser des applications avec Docker

Une formation pratique pour empaqueter, lancer et déployer des applications dans des conteneurs avec Docker et Docker Compose, de la première commande à une pile complète prête pour la production.

Durée
20 h
Séances
10 × 2 h
Niveau
Intermédiaire
Format
Labos Linux

Description

Docker a changé la façon de livrer les logiciels : une application et toutes ses dépendances tiennent dans une image qui fonctionne à l’identique sur le poste du développeur, en test et en production. C’est aujourd’hui la base de l’intégration continue, du cloud et de l’orchestration.

Les participants conteneurisent une application réelle à plusieurs services (API, base de données, front-end, proxy inverse), écrivent leurs propres Dockerfile, gèrent les données et les réseaux, puis déploient la pile complète avec Docker Compose derrière Traefik.

Public et prérequis

Public visé

  • Développeurs qui veulent livrer leurs applications simplement
  • Administrateurs systèmes et futurs DevOps
  • Étudiants en systèmes, réseaux ou développement

Prérequis

  • Bases de la ligne de commande Linux (fichiers, droits, éditeur de texte)
  • Notions de réseau (adresse IP, port)
  • Un PC avec 8 Go de RAM et Docker installé (ou une VM Linux)

Ce que vous saurez faire

À l’issue de la formation

  • expliquer la différence entre conteneur et machine virtuelle
  • lancer, inspecter et dépanner des conteneurs
  • écrire des Dockerfile optimisés (couches, multi-étapes, images légères)
  • persister les données avec les volumes et relier les services par des réseaux
  • décrire une pile complète avec Docker Compose
  • publier des images sur un registre et appliquer les bonnes pratiques de sécurité

Méthode pédagogique

  • Courts exposés illustrés, puis ateliers en ligne de commande à chaque séance
  • Une application fil rouge à plusieurs services, conteneurisée pas à pas
  • Pannes provoquées volontairement pour apprendre à lire journaux et inspections
  • Bonnes pratiques de production : images minimales, utilisateur non root, secrets, limites de ressources

10 séances

20 h au total, séances de 2 h.

  1. Séance 01

    Pourquoi les conteneurs

    Du serveur physique au conteneur, conteneur et machine virtuelle, architecture de Docker, installation et premier conteneur.

    • conteneur vs VM
    • docker run
    • installation

    Durée : 2 h

  2. Séance 02

    Images et conteneurs

    Registres, images et couches, cycle de vie d’un conteneur, journaux, exec, inspection et nettoyage.

    • images
    • logs · exec
    • Docker Hub

    Durée : 2 h

  3. Séance 03

    Écrire un Dockerfile

    Instructions principales, contexte de construction, cache des couches, construire et étiqueter sa première image.

    • Dockerfile
    • build
    • cache

    Durée : 2 h

  4. Séance 04

    Optimiser les images

    Constructions multi-étapes, images légères (Alpine, distroless), .dockerignore, utilisateur non root.

    • multi-stage
    • Alpine
    • non-root

    Durée : 2 h

  5. Séance 05

    Données persistantes

    Volumes nommés et montages liés, sauvegarde et restauration de données, base de données en conteneur.

    • volumes
    • bind mounts
    • sauvegarde

    Durée : 2 h

  6. Séance 06

    Réseaux Docker

    Réseaux bridge, résolution des noms entre conteneurs, ports publiés, isolation des services.

    • bridge
    • DNS interne
    • ports

    Durée : 2 h

  7. Séance 07

    Docker Compose

    Décrire une pile multi-services, variables d’environnement, dépendances, démarrage et mise à jour.

    • compose.yaml
    • .env
    • depends_on

    Durée : 2 h

  8. Séance 08

    Proxy inverse et HTTPS

    Exposer plusieurs applications derrière Traefik, routage par nom de domaine, certificats automatiques.

    • Traefik
    • HTTPS
    • labels

    Durée : 2 h

  9. Séance 09

    Registres, sécurité et supervision

    Publier sur un registre privé, analyser les vulnérabilités, gérer les secrets, limiter les ressources, superviser.

    • registre
    • scan
    • limites

    Durée : 2 h

  10. Séance 10

    Projet final et évaluation

    Conteneuriser et déployer une application complète à partir d’un cahier des charges, puis soutenance.

    • projet
    • évaluation /20

    Durée : 2 h

Programme adaptable (Podman, Kubernetes en introduction, volume horaire, public).

Validation et organisation

Évaluation et validation

  • Ateliers vérifiés à chaque séance
  • Projet final : application multi-services conteneurisée et déployée avec Compose, présentée et notée sur 20
  • Attestation de formation délivrée par OSDIGITALIS, Open Digital Service

Modalités

Durée
20 heures, en 10 séances de 2 heures
Format
présentiel en salle informatique, ou intra-entreprise / établissement
Effectif
groupes de 8 à 20 participants
Matériel
un poste par participant avec Docker (Docker Desktop ou Linux) et VS Code
Supports remis
fiches de séance, aide-mémoire Docker et Compose, dépôts d’exercices
Formateur
Mohammed Slimani, architecte DevOps, ancien administrateur systèmes et responsable informatique

Exercices, corrections et TP

Sur demande, par WhatsApp ou par e-mail.

Les exercices, les corrections et les TP de cette formation ne sont pas en ligne. Écrivez-moi en indiquant la formation et votre situation (stagiaire, établissement, entreprise) et je vous les envoie. Un espace privé est prévu pour les regrouper.

Vous formez une équipe ?

Découvrez les formations sur mesure

De quoi avez-vous besoin aujourd’hui ?

Une application à créer, une infrastructure à faire évoluer, une équipe à former. Prenons le temps d’en parler.