You are currently viewing Docker pour débutant : comprendre les conteneurs en 2026

Docker pour débutant : comprendre les conteneurs en 2026

  • Auteur/autrice de la publication :
  • Post category:DevOps
Niveau : Débutant

Docker débutant : comprendre et utiliser les conteneurs en 2026

Docker débutant est sans doute l’une des recherches les plus fréquentes chez les étudiants en informatique, et pour cause. Que vous soyez en BTS SIO, en reconversion ou simplement curieux, cette technologie est devenue un standard incontournable dans le monde du développement et de l’administration système. En 2026, impossible de consulter une offre d’emploi IT sans voir Docker mentionné quelque part. Mais concrètement, à quoi ça sert ? Comment ça fonctionne ? Et surtout, comment démarrer sans se noyer dans la documentation officielle ? Dans ce guide, on reprend tout depuis zéro. On va démystifier les concepts d’images, de conteneurs, de Dockerfile et de Docker Compose avec des exemples concrets et des commandes que vous pourrez tester immédiatement sur votre machine. Pas besoin d’être expert Linux ou développeur senior : si vous savez ouvrir un terminal, vous êtes prêt.

Ce tutoriel fonctionne sur Windows (via Docker Desktop), macOS et Linux. Toutes les commandes présentées sont identiques quel que soit votre système d’exploitation.

Docker, c’est quoi simplement ?

Illustration docker pour débutant : comprendre les conteneurs en 2026
Illustration docker pour débutant : comprendre les conteneurs en 2026

Docker est un outil open source qui permet de créer, déployer et exécuter des applications dans des conteneurs. Un conteneur, c’est un environnement isolé et léger qui embarque tout ce dont une application a besoin pour fonctionner : le code, les dépendances, les bibliothèques et la configuration.

Imaginez que vous développez une application Python avec Flask. Sur votre machine, tout fonctionne. Mais quand votre collègue récupère le projet, rien ne marche parce qu’il n’a pas la bonne version de Python, ou qu’il lui manque une librairie. Le fameux « ça marche sur ma machine ».

Docker résout ce problème. En empaquetant votre application et son environnement complet dans un conteneur, vous garantissez qu’elle tournera de façon identique partout : sur le PC de votre collègue, sur un serveur de test, en production.

Les concepts fondamentaux

Avant de taper la moindre commande, trois termes à comprendre :

Image : c’est le modèle, la recette. Elle contient le système de fichiers, les dépendances et les instructions pour lancer l’application. Une image est immuable (on ne la modifie pas directement).
Conteneur : c’est une instance en cours d’exécution d’une image. Vous pouvez lancer plusieurs conteneurs à partir de la même image. Chaque conteneur est isolé des autres.
Dockerfile : c’est le fichier texte qui décrit comment construire une image, étape par étape.

Pour faire une analogie simple : l’image est la recette de cuisine, le conteneur est le plat préparé, et le Dockerfile est le livre de recettes.

Docker vs machine virtuelle : quelle différence ?

C’est LA question que tout le monde pose, et la réponse est essentielle pour comprendre l’intérêt de Docker.

Critère Machine virtuelle (VM) Conteneur Docker
Système d’exploitation OS complet embarqué Partagé le noyau de l’hôte
Taille Plusieurs Go Quelques Mo à centaines de Mo
Démarrage Minutes Secondes
Isolation Forte (hyperviseur) Bonne (namespaces Linux)
Performance Overhead significatif Quasi-native
Cas d’usage principal Isoler des OS différents Isoler des applications

Une VM virtualise le matériel et embarque un OS complet. Un conteneur Docker virtualise uniquement l’espace utilisateur et partagé le noyau Linux de la machine hôte. Résultat : un conteneur démarre en quelques secondes, consomme beaucoup moins de RAM et de stockage.

Cela ne signifie pas que Docker remplacé les VM. Les deux technologies sont complémentaires. En entreprise, il est très courant de faire tourner des conteneurs Docker à l’intérieur de machines virtuelles pour combiner les avantages des deux approches.

Installer Docker sur votre machine

Illustration docker pour débutant : comprendre les conteneurs en 2026
Illustration docker pour débutant : comprendre les conteneurs en 2026

Sur Windows et macOS

La méthode la plus simple est d’installer Docker Desktop, l’application officielle qui intègre le moteur Docker, Docker Compose et une interface graphique.

1. Téléchargez Docker Desktop depuis le site officiel
2. Lancez l’installateur et suivez les étapes
3. Sur Windows, activez WSL 2 si ce n’est pas déjà fait (Docker Desktop vous guidera)
4. Redémarrez votre machine si demandé

Sur Linux (Ubuntu/Debian)

# Mettre à jour les paquets
sudo apt update

# Installer les prérequis
sudo apt install ça-certificates curl gnupg

# Ajouter la clé GPG officielle Docker
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# Ajouter le dépôt Docker
echo 
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu 
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | 
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Installer Docker Engine
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

# Ajouter votre utilisateur au groupe docker (évite de taper sudo à chaque fois)
sudo usermod -aG docker $USER

Déconnectez-vous puis reconnectez-vous pour que le changement de groupe prenne effet.

Vérifier l’installation

docker --version
# Docker version 27.x.x, build xxxxxxx

docker run hello-world
# Affiche un message de bienvenue confirmant que tout fonctionne

Si vous voyez le message « Hello from Docker! », votre installation est opérationnelle.

Bien choisir entre SLAM et SISRComparer les options →

Les commandes Docker essentielles

Voici les commandes que vous utiliserez au quotidien. Pas besoin de tout mémoriser d’un coup, gardez cette section en référence.

Gérer les images

# Télécharger une image depuis Docker Hub
docker pull nginx

# Lister les images présentes sur votre machine
docker images

# Supprimer une image
docker rmi nginx

Gérer les conteneurs

# Lancer un conteneur à partir d'une image
docker run nginx

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

# Lancer avec un nom personnalisé
docker run -d --name mon-serveur nginx

# Lister les conteneurs en cours d'exécution
docker ps

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

# Arrêter un conteneur
docker stop mon-serveur

# Redémarrer un conteneur
docker start mon-serveur

# Supprimer un conteneur arrêté
docker rm mon-serveur

Mapper des ports

Par défaut, un conteneur est isolé du réseau de votre machine. Pour accéder à un service qui tourne dans un conteneur, vous devez mapper un port :

# Mapper le port 8080 de votre machine vers le port 80 du conteneur
docker run -d -p 8080:80 --name web nginx

Ouvrez votre navigateur sur `http://localhost:8080` et vous verrez la page d’accueil de Nginx. Le format est toujours `-p port_hôte:port_conteneur`.

Monter des volumes

Les données d’un conteneur sont éphémères par défaut. Si vous supprimez le conteneur, tout disparaît. Les volumes permettent de persister les données :

# Monter un dossier local dans le conteneur
docker run -d -p 8080:80 -v $(pwd)/mon-site:/usr/share/nginx/html nginx

Ici, le contenu de votre dossier `mon-site` sera servi par Nginx. Modifiez un fichier HTML localement, rafraîchissez le navigateur : le changement apparaît instantanément.

Créer sa première image avec un Dockerfile

Un Dockerfile est un fichier texte (sans extension) qui décrit étape par étape comment construire votre image personnalisée.

Exemple concret : application Python Flask

Créez un dossier `mon-app` avec ces deux fichiers :

app.py :

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return "<h1>Bienvenue sur mon app Docker !</h1>"

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)

Dockerfile :

# Image de base : Python 3.12 version légère
FROM python:3.12-slim

# Définir le répertoire de travail dans le conteneur
WORKDIR /app

# Copier le fichier des dépendances et installer
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# Copier le code de l'application
COPY . .

# Exposer le port utilisé par Flask
EXPOSE 5000

# Commande exécutée au démarrage du conteneur
CMD ["python", "app.py"]

requirements.txt :

flask==3.1.*

Construire et lancer l’image

# Construire l'image (le point désigne le répertoire courant)
docker build -t mon-app-flask .

# Lancer un conteneur à partir de cette image
docker run -d -p 5000:5000 --name flask-app mon-app-flask

Rendez-vous sur `http://localhost:5000` : votre application Flask tourne dans un conteneur Docker.

Les instructions Dockerfile les plus courantes

Instruction Rôle Exemple
FROM Image de base FROM node:20-alpine
WORKDIR Répertoire de travail WORKDIR /app
COPY Copier des fichiers COPY package.json .
RUN Exécuter une commande lors du build RUN npm install
EXPOSE Documenter le port utilisé EXPOSE 3000
CMD Commande par défaut au lancement CMD [« node », « server.js »]
ENV Variable d’environnement ENV NODE_ENV=production

Docker Compose : orchestrer plusieurs conteneurs

Dans un projet réel, votre application ne tourne jamais seule. Vous avez un serveur web, une base de données, peut-être un cache Redis. Lancer et configurer chaque conteneur manuellement avec `docker run` devient vite ingérable.

Docker Compose résout ce problème. Un seul fichier YAML décrit l’ensemble de votre infrastructure, et une seule commande lance tout.

Exemple : application Flask + PostgreSQL + Redis

Créez un fichier compose.yaml à la racine de votre projet :

services:
  web:
    build: .
    ports:
      - "5000:5000"
    environment:
      - DATABASE_URL=postgresql://user:password@db:5432/myapp
      - REDIS_URL=redis://cache:6379
    depends_on:
      - db
      - cache

  db:
    image: postgres:16
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
      POSTGRES_DB: myapp
    volumes:
      - postgres_data:/var/lib/postgresql/data

  cache:
    image: redis:7-alpine

volumes:
  postgres_data:

Lancer et gérer le projet

# Lancer tous les services en arrière-plan
docker compose up -d

# Voir les logs de tous les services
docker compose logs -f

# Voir les logs d'un service spécifique
docker compose logs -f web

# Arrêter tous les services
docker compose down

# Arrêter et supprimer les volumes (reset complet)
docker compose down -v

Avec `docker compose up -d`, Docker construit votre image, télécharge PostgreSQL et Redis, crée un réseau interne pour que les services communiquent entre eux, et lance le tout. Le nom du service (`db`, `cache`) sert directement de nom d’hôte réseau, c’est pourquoi on utilisé `db:5432` dans l’URL de connexion.

Depuis Docker Compose V2 (intégré à Docker Desktop et au plugin CLI), la commande est `docker compose` (sans tiret). L’ancien `docker-compose` avec tiret est déprécié depuis 2023.

Cas pratique : environnement de développement complet

Voici un cas d’usage très courant en BTS SIO SLAM. Vous travaillez sur un projet web avec un front React et un back Node.js. Plutôt que de demander à chaque membre de l’équipe d’installer Node, PostgreSQL et de configurer manuellement son environnement, vous fournissez un `compose.yaml` :

services:
  frontend:
    image: node:20-alpine
    working_dir: /app
    volumes:
      - ./frontend:/app
    ports:
      - "3000:3000"
    command: npm run dev

  backend:
    image: node:20-alpine
    working_dir: /app
    volumes:
      - ./backend:/app
    ports:
      - "4000:4000"
    environment:
      - DB_HOST=database
    command: npm run dev

  database:
    image: postgres:16
    environment:
      POSTGRES_PASSWORD: devpassword
      POSTGRES_DB: projet_sio
    ports:
      - "5432:5432"
    volumes:
      - db_data:/var/lib/postgresql/data

volumes:
  db_data:

Un nouveau membre de l’équipe clone le repo, tape `docker compose up -d`, et il à un environnement de développement fonctionnel en moins d’une minute. Pas d’installation manuelle, pas de « ça marche pas chez moi ».

Les bonnes pratiques pour débuter

1. Utilisez des images officielles et légères. Préférez les variantes `-alpine` ou `-slim` quand elles existent. Une image `node:20-alpine` pèse environ 50 Mo contre plus de 300 Mo pour `node:20`.

2. Un conteneur = un processus. Ne lancez pas votre serveur web ET votre base de données dans le même conteneur. Utilisez Docker Compose pour orchestrer plusieurs services.

3. Exploitez le cache des couches. Dans votre Dockerfile, copiez d’abord les fichiers de dépendances (`package.json`, `requirements.txt`) et installez les dépendances AVANT de copier le code source. Ainsi, Docker ne réinstalle les dépendances que si elles changent.

4. Ajoutez un fichier `.dockerignore`. Comme un `.gitignore`, il exclut les fichiers inutiles du contexte de build :

node_modules
.git
.env
*.log

5. Ne stockez jamais de secrets dans l’image. Utilisez les variables d’environnement où les Docker secrets pour les mots de passé et clés API.

Docker dans le monde professionnel en 2026

Docker n’est pas qu’un outil de développement local. En entreprise, il s’intègre dans des chaînes CI/CD (intégration et déploiement continus) et s’associe à des orchestrateurs comme Kubernetes pour gérer des applications en production à grande échelle.

En tant qu’étudiant BTS SIO, maîtriser Docker vous donne un avantage concret sur le marché de l’emploi. Les entreprises recherchent activement des profils qui comprennent la conteneurisation, même à un niveau junior. C’est d’ailleurs un sujet qui revient régulièrement dans les projets d’examen et les missions en alternance.

Si Docker vous intéresse dans une perspective DevOps, vous pouvez approfondir avec notre introduction au DevOps qui couvre l’ensemble de la chaîne d’outils moderne.

Docker : de zéro à la maîtriseVoir sur Udemy →

Conclusion

Docker n’est plus une technologie réservée aux DevOps seniors. En 2026, c’est un outil accessible que tout étudiant en informatique devrait avoir dans sa boîte à outils. Vous avez maintenant les bases : les concepts d’images et de conteneurs, la création de Dockerfile, l’orchestration avec Docker Compose et les bonnes pratiques pour bien démarrer. Le meilleur conseil que je puisse vous donner : ouvrez un terminal et pratiquez. Conteneurisez un de vos projets existants, cassez des choses, recommencez. C’est comme ça qu’on apprend. Et si vous préparez un BTS SIO, Docker sera un atout majeur pour vos projets et votre entrée sur le marché du travail.

Guide complet du BTS SIOLire le guide →

Questions fréquentes


Docker, c’est quoi simplement ?

Docker est un outil qui permet d’empaqueter une application avec tout son environnement (code, dépendances, configuration) dans un conteneur léger et portable. Ce conteneur fonctionne de manière identique sur n’importe quelle machine, éliminant les problèmes de compatibilité entre environnements de développement, de test et de production.

Quelle est la différence entre Docker et une machine virtuelle ?

Une machine virtuelle embarque un système d’exploitation complet et virtualise le matériel, ce qui la rend lourde (plusieurs Go) et lente à démarrer. Un conteneur Docker partagé le noyau du système hôte et ne virtualise que l’espace applicatif, ce qui le rend beaucoup plus léger (quelques Mo) et rapide à lancer (quelques secondes). Les deux approches sont complémentaires.

Docker Compose, c’est quoi et comment débuter ?

Docker Compose est un outil intégré à Docker qui permet de définir et lancer plusieurs conteneurs simultanément à partir d’un fichier YAML. Au lieu de taper plusieurs commandes docker run, vous décrivez toute votre infrastructure dans un fichier compose.yaml et lancez tout avec docker compose up. C’est indispensable dès que votre projet implique plusieurs services (serveur web, base de données, cache).

Faut-il connaître Linux pour utiliser Docker ?

Non, pas obligatoirement. Docker Desktop fonctionne sur Windows et macOS avec une interface graphique. Cependant, connaître les bases du terminal et quelques commandes Linux est un vrai plus, car Docker repose sur des technologies Linux. Notre guide sur Linux pour débutant peut vous aider à acquérir ces fondamentaux.

Docker est-il utile pour le BTS SIO ?

Absolument. Docker est de plus en plus présent dans les projets professionnels et les épreuves du BTS SIO, aussi bien en option SLAM qu’en SISR. Il permet de standardiser les environnements de développement en équipe et de comprendre les bases de la conteneurisation, une compétence très demandée en entreprise.

À retenir

  • Docker débutant : comprendre et utiliser les conteneurs en 2026
  • Docker, c’est quoi simplement ?
  • Docker vs machine virtuelle : quelle différence ?
  • Installer Docker sur votre machine
  • Les commandes Docker essentielles

Lucie Moreau
Lucie Moreau

Formatrice IT indépendante depuis 2016, ancienne étudiante BTS SIO SLAM. 6 ans d'expérience en entreprise.

Lucie Moreau

Formatrice IT indépendante depuis 2016, ancienne étudiante BTS SIO SLAM. 6 ans d'expérience en entreprise.