Docker pour développeurs : les fondamentaux
Par DevWorkWeb
Ce cours explique pourquoi Docker s'est imposé pour résoudre le problème du « ça marche sur ma machine », puis construit progressivement les compétences nécessaires : images, containers, Dockerfile, volumes, réseaux, et Docker Compose pour orchestrer plusieurs services (par exemple une application et sa base de données).
Ce que vous allez apprendre
Prérequis
Bases en ligne de commande. Avoir un projet backend simple (Node.js, Laravel ou Python) est un plus pour la pratique.
Public cible
- • Développeurs souhaitant fiabiliser leur environnement de développement
- • Étudiants ayant suivi Node.js, Laravel ou Python et voulant conteneuriser leurs projets
Programme détaillé
10 modules · 22 leçons1. Pourquoi Docker ? 2 leçons
Le problème que Docker résout : garantir qu'une application tourne de façon identique partout.
- Le problème « ça marche sur ma machine » 8 min
- Containers vs machines virtuelles 10 min
2. Images 3 leçons
Comprendre ce qu'est une image Docker et où en trouver des officielles.
- Qu'est-ce qu'une image Docker ? 8 min
- Docker Hub et images officielles 8 min
- Télécharger et inspecter une image 8 min
3. Containers 2 leçons
Lancer, arrêter et inspecter des containers à partir d'une image.
- Lancer un container (docker run) 10 min
- Gérer les containers (start/stop/logs/exec) 12 min
4. Dockerfile 3 leçons
Écrire ses propres images avec un Dockerfile, en suivant les bonnes pratiques.
- Écrire un Dockerfile 12 min
- Construire une image (docker build) 10 min
- Bonnes pratiques (cache, layers) 10 min
5. Volumes 2 leçons
Faire persister les données d'un container au-delà de son cycle de vie.
- Persister des données avec les volumes 10 min
- Bind mounts vs volumes nommés 10 min
6. Networks 2 leçons
Faire communiquer plusieurs containers entre eux et exposer des ports vers l'extérieur.
- Réseaux Docker et communication entre containers 10 min
- Exposer des ports 8 min
7. Docker Compose 2 leçons
Décrire et lancer plusieurs services liés (application, base de données...) en une seule commande.
- Écrire un docker-compose.yml 14 min
- Lancer plusieurs services ensemble 10 min
8. Variables 2 leçons
Configurer les containers avec des variables d'environnement, y compris via des fichiers .env.
- Variables d'environnement dans Docker 8 min
- Fichiers .env avec Docker Compose 8 min
9. PostgreSQL + Docker 2 leçons
Lancer une base de données PostgreSQL en container et y connecter son application.
- Lancer PostgreSQL en container 10 min
- Connecter son application à la base conteneurisée 10 min
10. Node.js + Docker 2 leçons
Conteneuriser une application Node.js et optimiser l'image avec un build multi-étapes.
- Conteneuriser une application Node.js 12 min
- Multi-stage build pour optimiser l'image 12 min
🎯 Projet final
Stack complète Laravel/Node + PostgreSQL avec Docker
Le projet fil rouge consiste à conteneuriser une application backend (Node.js ou Laravel, au choix) avec sa base de données PostgreSQL, orchestrées via Docker Compose.
- Accès à vie
- Certificat inclus
- Exercices pratiques
- Mises à jour gratuites