DevOpsFacile
AccueilParcours de formationCertificationsModulesCheat SheetÀ Propos
DevOpsFacile

Une plateforme d'apprentissage complète pour maîtriser les pratiques DevOps modernes, du débutant à l'expert.

contact@devopsfacile.fr

Formation

  • Parcours de formation
  • Modules

Informations

  • À Propos
  • Conditions d'utilisation
  • Confidentialité
  • Mentions légales

© 2026 DevOps Facile. Tous droits réservés.

Fait avec pour la communauté DevOps

ModulesDocker expliqué simplement : lancer ses premiers conteneurs

Module

Découvrez les conteneurs : concepts, images et premières commandes Docker.

  • 1h30
  • Débutant
  • 6 exercices
Voir les exercices

Formation 100 % Linux

Tous les modules nécessitent un environnement Linux. Si vous êtes sur Windows, installez d'abord WSL (Windows Subsystem for Linux) avant de continuer.

Docker expliqué simplement : lancer ses premiers conteneurs

🎯 Objectifs

  • Comprendre ce qu'est un conteneur et pourquoi utiliser Docker
  • Différencier machines virtuelles et conteneurs
  • Installer Docker et vérifier l'installation
  • Manipuler des images Docker (pull, list, remove)
  • Créer, lancer et gérer des conteneurs

📋 Prérequis

  • Linux Intermédiaire - ligne de commande, permissions, processus
  • Un terminal avec accès root ou sudo

🐳 Pourquoi Docker ?

Le problème classique : « Ça marche sur ma machine ! »

Un conteneur empaquette une application avec toutes ses dépendances dans un environnement isolé et portable. Résultat : ce qui tourne en dev tourne aussi en prod, à l'identique.

💡 Docker standardise le déploiement : un même conteneur fonctionne sur Linux, macOS et Windows.


🆚 VMs vs Conteneurs

CritèreMachine VirtuelleConteneur
TaillePlusieurs Go (OS complet)Quelques Mo
DémarrageMinutesSecondes
IsolationTotale (hyperviseur)Au niveau processus (noyau partagé)
PerformanceOverhead importantQuasi-native
PortabilitéLimitéeExcellente

🏗️ Architecture Docker

Docker utilise une architecture client-serveur :

CLI (vous) → Client Docker → Daemon Docker → Registry (Docker Hub)
ComposantRôle
ClientEnvoie les commandes (docker run, docker build…)
DaemonGère les images, conteneurs, réseaux et volumes
RegistryStocke les images (Docker Hub par défaut)
ImageModèle en lecture seule pour créer un conteneur
ConteneurInstance exécutable d'une image

🔧 Installation

Linux (Ubuntu/Debian)

Référence officielle : docs.docker.com/engine/install

bash
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

macOS / Windows

Installez Docker Desktop : docker.com/products/docker-desktop

Post-installation (Linux)

Ajoutez votre utilisateur au groupe docker pour éviter sudo :

bash
sudo usermod -aG docker $USER
newgrp docker

Vérification

bash
docker --version
docker run hello-world

✅ Si vous voyez « Hello from Docker! », tout fonctionne.


📦 Images Docker

Concept

Une image est un modèle en lecture seule composé de couches (layers). Chaque couche représente une instruction (installer un paquet, copier un fichier…).

Nommage

Format : registre/nom:tag

ExempleSignification
nginxImage officielle, tag latest implicite
nginx:1.25Image officielle, version 1.25
myuser/myapp:v2Image utilisateur, version v2
ghcr.io/org/app:mainRegistry GitHub, branche main

Commandes essentielles

bash
# Télécharger une image
docker pull nginx:1.25

# Lister les images locales
docker images

# Supprimer une image
docker rmi nginx:1.25

# Inspecter une image
docker image inspect nginx:1.25

⚠️ Évitez :latest en production - cette étiquette change sans préavis. Précisez toujours une version.


🚀 Conteneurs Docker

Concept

Un conteneur est une instance en cours d'exécution d'une image. Vous pouvez lancer plusieurs conteneurs à partir de la même image.

Cycle de vie

Created → Running → Paused → Stopped → Removed

La commande docker run

bash
# Lancer en premier plan
docker run nginx

# Lancer en arrière-plan (détaché)
docker run -d nginx

# Nommer le conteneur
docker run -d --name mon-nginx nginx

# Mapper un port (hôte:conteneur)
docker run -d -p 8080:80 nginx

# Supprimer automatiquement à l'arrêt
docker run --rm nginx

# Mode interactif
docker run -it ubuntu bash
OptionDescription
-dMode détaché (arrière-plan)
--nameNom personnalisé
-p hôte:conteneurRedirection de port
--rmSupprime le conteneur à l'arrêt
-itMode interactif avec terminal
-e VAR=valVariable d'environnement

Gestion des conteneurs

bash
# Lister les conteneurs actifs
docker ps

# Lister tous les conteneurs (y compris arrêtés)
docker ps -a

# Arrêter / démarrer / supprimer
docker stop mon-nginx
docker start mon-nginx
docker rm mon-nginx

# Voir les logs (et suivre en temps réel)
docker logs mon-nginx
docker logs -f mon-nginx

# Exécuter une commande dans un conteneur actif
docker exec -it mon-nginx bash

# Statistiques en temps réel
docker stats

⚠️ Erreurs Courantes

ErreurCauseSolution
permission deniedUtilisateur pas dans le groupe dockersudo usermod -aG docker $USER puis déconnexion
port is already allocatedLe port hôte est déjà utiliséChanger le port hôte : -p 8081:80
Cannot connect to the Docker daemonLe daemon n'est pas démarrésudo systemctl start docker
image not foundNom ou tag incorrectVérifier sur Docker Hub
container name already in useUn conteneur porte déjà ce nomdocker rm ancien-conteneur

📌 Points Clés

  • Un conteneur = une application + ses dépendances dans un environnement isolé
  • Docker utilise une architecture client → daemon → registry
  • Les images sont des modèles en lecture seule, les conteneurs en sont des instances
  • docker run crée et lance un conteneur ; docker exec interagit avec un conteneur actif
  • Toujours spécifier un tag de version en production

📚 Ressources

  • Documentation officielle Docker
  • Docker Hub
  • Docker Getting Started
  • Play with Docker - sandbox en ligne

🚀 Prochaines étapes

Vous savez utiliser les images et les conteneurs Docker. Passez au niveau suivant :

  1. Créer ses images Docker : Dockerfile, volumes et réseaux - Dockerfile, volumes et réseaux Docker

Exercices Pratiques

6 exercices pour mettre en pratique

01

01 - Installer Docker et vérifier l'installation

15 minutesDébutant
02

02 - Manipuler les images Docker

25 minutesDébutant
03

03 - Créer et gérer des conteneurs

20 minutesDébutant
04

04 - Configurer les ports et variables d'environnement

30 minutesDébutant
05

05 - Inspecter et déboguer les conteneurs

25 minutesDébutant
06

06 - Projet Capstone : Déployer et gérer une application web avec Docker

40 minutesIntermédiaire
Retour aux modules

Sur cette page

  • 🎯 Objectifs
  • 📋 Prérequis
  • 🐳 Pourquoi Docker ?
  • 🆚 VMs vs Conteneurs
  • 🏗️ Architecture Docker
  • 🔧 Installation
  • Linux (Ubuntu/Debian)
  • macOS / Windows
  • Post-installation (Linux)
  • Vérification
  • 📦 Images Docker
  • Concept
  • Nommage
  • Commandes essentielles
  • 🚀 Conteneurs Docker
  • Concept
  • Cycle de vie
  • La commande docker run
  • Gestion des conteneurs
  • ⚠️ Erreurs Courantes
  • 📌 Points Clés
  • 📚 Ressources
  • 🚀 Prochaines étapes