Ordinateur
Windows 11 avec WSL 2 et virtualisation, ou Ubuntu 22.04/24.04 64 bits. 8 Go de RAM conseillés.
Installez Docker proprement, lancez et inspectez vos conteneurs, rendez leurs données persistantes, puis orchestrez une application avec Docker Compose.
Un conteneur partage le noyau de son hôte. N’exécutez pas une image inconnue, n’exposez pas le socket Docker et ne publiez que les ports réellement nécessaires.
Windows 11 avec WSL 2 et virtualisation, ou Ubuntu 22.04/24.04 64 bits. 8 Go de RAM conseillés.
Savoir naviguer dans un dossier et reconnaître un port local. Toutes les commandes sont copiables.
Un dossier de test sans document important. Les volumes seront manipulés et supprimés pendant les exercices.
Une formation Docker, deux parcours
Les deux formations partagent les mêmes bases, mais ne mélangent plus les méthodes. Choisissez uniquement celle qui correspond à votre ordinateur.
Vous pourrez revenir à cette page et changer de parcours à tout moment.
Fondations · 20 min
Maîtriser le vocabulaire avant de lancer la première commande.
Une image est un modèle immuable. Un conteneur est une instance isolée créée depuis cette image. Un registre, comme Docker Hub, distribue les images.
Parcours Windows · 30 min
À suivre uniquement sur Windows 11. Les utilisateurs Ubuntu passent directement à l’autre méthode.
Ouvrez PowerShell et contrôlez la version installée.
Téléchargez l’installeur officiel et choisissez le mode par utilisateur avec le moteur WSL 2.
Attendez l’état « Engine running », puis vérifiez la CLI.
wsl --versionwsl --updatedocker versionL’usage commercial dans certaines grandes organisations exige une souscription. Vérifiez les conditions officielles selon votre situation.
Parcours Ubuntu · 35 min
À suivre uniquement sur Ubuntu. Les utilisateurs Windows conservent Docker Desktop et ignorent cette méthode.
La page officielle Ubuntu reste la référence si la distribution ou la version change.
sudo apt update && sudo apt install ca-certificates curlsudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginsudo systemctl status dockerAvant la commande d’installation, ajoutez la clé GPG et le dépôt APT en suivant exactement la documentation officielle liée en bas de cette page.
Ajouter un utilisateur au groupe docker lui donne un contrôle quasi administrateur sur la machine. Ne le faites pas sur un compte non fiable.
Pratique commune · 25 min
Tester Docker avec hello-world puis publier un serveur Web local.
docker run --rm hello-worlddocker run -d --name web-demo -p 127.0.0.1:8080:80 nginx:alpinedocker ps -adocker logs web-demodocker rm -f web-demoConstruction · 30 min
Transformer un dossier de projet en image reproductible.
Créez un dossier contenant un fichier index.html et ce Dockerfile :
FROM nginx:alpine COPY index.html /usr/share/nginx/html/index.html EXPOSE 80
docker build -t owlnet-demo:1.0 .docker run --rm -p 127.0.0.1:8080:80 owlnet-demo:1.0Utilisez une image de base officielle, une version précise lorsque la stabilité l’exige, un fichier .dockerignore et le moins de dépendances possible.
Données · 25 min
Comprendre ce qui disparaît lorsque le conteneur est supprimé.
Géré par Docker. Recommandé pour une base de données.
Relie un dossier précis de l’hôte. Pratique pour le développement.
docker volume create donnees-demodocker volume inspect donnees-demodocker compose down conserve les volumes nommés. L’option --volumes les supprime : sauvegardez avant.
Réseau · 25 min
Utiliser les noms de services et publier seulement l’interface nécessaire.
Sur un réseau Docker, les conteneurs communiquent par leur nom. Une base de données n’a généralement pas besoin d’un port publié vers le PC ou Internet.
docker network create reseau-demodocker network inspect reseau-demoPour un outil local, publiez 127.0.0.1:8080:80. Il restera accessible uniquement depuis le PC.
Orchestration · 40 min
Remplacer une longue commande par un fichier versionnable.
services:
web:
image: nginx:alpine
ports:
- "127.0.0.1:8080:80"
restart: unless-stopped
volumes:
- ./site:/usr/share/nginx/html:ro
docker compose up -ddocker compose logs -fdocker compose downExploitation · 30 min
Mettre à jour sans supprimer aveuglément les données.
docker system dfdocker stats --no-streamdocker system pruneCette commande peut effacer images, caches et volumes inutilisés. Lisez toujours la liste et disposez d’une sauvegarde.
Projet final · 45 min
Assembler image, volume en lecture seule, port local et Compose.
Préparez un dossier site avec un index.html.
Réutilisez le modèle de l’étape 7 et gardez le port lié à 127.0.0.1.
Ouvrez localhost:8080, consultez les logs et inspectez le conteneur.
Arrêtez, supprimez le conteneur puis relancez le projet avec le même fichier.
docker compose ps && docker compose logs --tail=20Validation finale
Sources de référence
Les prérequis, commandes et versions évoluent. Vérifiez la documentation officielle avant une installation de production.