Aller au contenu
Conteneurs & Orchestration medium

Installer Docker sur Linux, Windows et macOS

35 min de lecture

logo docker

Docker s'installe différemment selon votre système : Docker Engine natif sur Linux (Ubuntu, Debian, Rocky), Docker Desktop ou WSL2 sur Windows, Docker Desktop ou Colima sur macOS. Ce guide couvre, pour chaque plateforme, la méthode officielle et une alternative open source, puis la configuration post-installation et la vérification.

Il s'adresse aux débutants : aucune expérience préalable de Docker n'est requise. Comptez 15 à 20 minutes pour obtenir un Docker fonctionnel, permissions comprises.

Le guide traite les trois plateformes séparément, parce que les commandes n'ont rien de commun. Les deux derniers points, en revanche, valent pour tout le monde : sans la configuration post-installation et sans vérification, une installation « réussie » se révèle inutilisable au premier docker run.

  • Installation Linux : Docker Engine sur Ubuntu, Debian, Rocky Linux
  • Installation Windows : Docker Desktop et alternative WSL2
  • Installation macOS : Docker Desktop et alternative Colima
  • Post-installation : permissions, groupe docker, démarrage automatique
  • Vérification : commandes de test et diagnostic

Docker Engine exige un système 64 bits ; sur Windows et macOS, il exige en plus une couche de virtualisation, WSL2 ou une machine virtuelle légère. Le tableau donne le plancher par système : en dessous de ces versions, l'installation officielle n'est plus prise en charge et le dépôt Docker ne publie plus de paquet correspondant.

SystèmeConfiguration minimale
Ubuntu20.04+, 64-bit, kernel 5.10+
Debian11+, 64-bit
Rocky/RHEL8+, 64-bit
Windows10 (21H2+) ou 11, WSL2 activé
macOS12 (Monterey)+, Apple Silicon ou Intel

Docker Engine est le daemon plus la CLI, gratuit et sous licence Apache 2.0 ; Docker Desktop y ajoute une machine virtuelle, une interface graphique, Kubernetes et Compose, et devient payant au-delà de 250 employés ou 10 millions de dollars de revenus. Sur un serveur, c'est toujours Engine.

Docker distribue donc deux produits distincts, et l'erreur classique consiste à installer Docker Desktop sur un serveur alors que seul Docker Engine y a sa place. Engine est le daemon plus la CLI, sans interface graphique, et il tourne directement sur le noyau Linux de la machine. Desktop empaquette ce même daemon dans une machine virtuelle, y ajoute une interface, Kubernetes et Compose, et impose une licence payante au-delà d'un certain seuil d'entreprise.

CaractéristiqueDocker EngineDocker Desktop
PlateformeLinux natifWindows, macOS, Linux
InterfaceCLI uniquementGUI + CLI
LicenceOpen source (Apache 2.0)Gratuit personnel, payant entreprise (>250 employés)
KubernetesNon inclusInclus
ComposeInstallation séparéeInclus
VMNon (natif)Oui (WSL2/HyperKit)

Recommandations :

  • Serveur Linux → Docker Engine
  • Développement Windows/macOS → Docker Desktop ou alternative
  • Entreprise > 250 employés → Évaluer les alternatives (Podman, Colima)

Sur Linux, Docker Engine s'installe depuis le dépôt officiel download.docker.com, avec les paquets docker-ce, docker-ce-cli, containerd.io, docker-buildx-plugin et docker-compose-plugin.

L'installation passe donc par ce dépôt, pas par le paquet docker.io des distributions, souvent en retard de plusieurs versions majeures et dépourvu des plugins Buildx et Compose. La procédure est identique dans son principe pour toutes les distributions : déclarer la clé de signature du dépôt, ajouter le dépôt, installer les paquets, puis vérifier avec un conteneur de test.

La suite d'étapes ci-dessous configure le dépôt APT de Docker. L'étape de la clé GPG conditionne toutes les suivantes : sans elle, apt update rejette le dépôt et l'installation échoue avec une erreur de signature.

  1. Désinstaller les anciennes versions

    Supprimez les paquets obsolètes qui peuvent entrer en conflit :

    Fenêtre de terminal
    sudo apt remove docker.io docker-compose docker-doc podman-docker containerd runc
  2. Installer les dépendances

    Fenêtre de terminal
    sudo apt update
    sudo apt install -y ca-certificates curl gnupg
  3. Ajouter la clé GPG Docker

    Fenêtre de terminal
    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
    sudo chmod a+r /etc/apt/keyrings/docker.gpg

    Pour Debian, remplacez ubuntu par debian dans l'URL.

  4. Ajouter le repository Docker

    Fenêtre de terminal
    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
  5. Installer Docker Engine

    Fenêtre de terminal
    sudo apt update
    sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  6. Vérifier l'installation

    Fenêtre de terminal
    sudo docker run hello-world

La famille RHEL utilise dnf et le dépôt docker-ce.repo, qui embarque déjà sa clé de signature : il n'y a donc pas d'étape GPG séparée. Une différence compte par rapport à Debian : le service n'est pas démarré automatiquement après l'installation, il faut le lancer et l'activer explicitement.

  1. Désinstaller les anciennes versions

    Fenêtre de terminal
    sudo dnf remove docker docker-client docker-client-latest \
    docker-common docker-latest docker-latest-logrotate \
    docker-logrotate docker-engine podman runc
  2. Ajouter le repository Docker

    Fenêtre de terminal
    sudo dnf -y install dnf-plugins-core
    sudo dnf config-manager --add-repo \
    https://download.docker.com/linux/rhel/docker-ce.repo

    Pour Rocky Linux, utilisez également le repo RHEL (compatible).

  3. Installer Docker Engine

    Fenêtre de terminal
    sudo dnf install -y docker-ce docker-ce-cli containerd.io \
    docker-buildx-plugin docker-compose-plugin
  4. Démarrer et activer Docker

    Fenêtre de terminal
    sudo systemctl start docker
    sudo systemctl enable docker
  5. Vérifier l'installation

    Fenêtre de terminal
    sudo docker run hello-world

Docker est fonctionnel dès l'installation, mais uniquement pour root, sans rotation des journaux et, selon la distribution, sans démarrage au boot. Les trois réglages qui suivent corrigent ces trois points. Le premier a des conséquences directes sur la sécurité de la machine, lisez l'avertissement qui l'accompagne avant de l'appliquer.

Par défaut, seul root peut utiliser Docker. Ajoutez votre utilisateur au groupe docker :

Fenêtre de terminal
# Ajouter l'utilisateur courant au groupe docker
sudo usermod -aG docker $USER
# Appliquer les changements (sans déconnexion)
newgrp docker
# Ou déconnectez-vous et reconnectez-vous

Les deux services vont de pair : docker.service expose l'API et le socket, containerd.service exécute réellement les conteneurs. Activer le premier sans le second laisse les conteneurs déclarés en restart: always inertes après un redémarrage.

Fenêtre de terminal
# Activer le démarrage au boot
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
# Vérifier le statut
sudo systemctl status docker

Le fichier /etc/docker/daemon.json n'existe pas après l'installation, et son absence signifie que les journaux de conteneurs ne sont jamais purgés : un conteneur bavard peut remplir /var/lib/docker jusqu'à saturer la partition. La configuration ci-dessous plafonne chaque journal à 10 Mo sur 3 fichiers, soit 30 Mo par conteneur au maximum. Le redémarrage du daemon est indispensable, le fichier n'est lu qu'au démarrage.

Fenêtre de terminal
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json << 'EOF'
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
EOF
sudo systemctl restart docker

Consultez le guide Configuration du daemon pour plus d'options.

Sur Windows, deux méthodes existent : Docker Desktop, qui gère la machine virtuelle pour vous, ou Docker Engine installé directement dans une distribution WSL2, gratuit y compris en entreprise.

Windows n'exécute pas de conteneurs Linux nativement : dans les deux méthodes qui suivent, le daemon tourne dans une machine virtuelle légère fournie par WSL2. La différence tient à qui gère cette VM. Docker Desktop la pilote pour vous et ajoute une interface graphique ; l'installation directe dans une distribution WSL2 vous laisse la main et échappe à la licence commerciale.

Docker Desktop est la solution officielle pour Windows avec interface graphique.

  1. Activer WSL2

    Ouvrez PowerShell en administrateur :

    Fenêtre de terminal
    wsl --install

    Redémarrez l'ordinateur si demandé.

  2. Télécharger Docker Desktop

    Téléchargez l'installateur depuis docker.com/products/docker-desktop.

  3. Installer Docker Desktop

    • Exécutez l'installateur
    • Cochez "Use WSL 2 instead of Hyper-V" (recommandé)
    • Suivez l'assistant
  4. Configurer Docker Desktop

    Au premier lancement :

    • Acceptez les conditions d'utilisation
    • Connectez-vous (optionnel pour usage personnel)
    • Dans Settings > Resources > WSL Integration, activez l'intégration avec vos distributions
  5. Vérifier l'installation

    Ouvrez un terminal (PowerShell ou WSL) :

    Fenêtre de terminal
    docker run hello-world

Pour éviter Docker Desktop (et sa licence), installez Docker Engine directement dans une distribution WSL2.

  1. Installer une distribution WSL2

    Fenêtre de terminal
    wsl --install -d Ubuntu
  2. Installer Docker Engine dans WSL2

    Ouvrez Ubuntu (WSL) et suivez les étapes Ubuntu/Debian ci-dessus.

  3. Configurer le démarrage automatique

    Docker ne démarre pas automatiquement dans WSL2. Ajoutez à votre ~/.bashrc :

    Fenêtre de terminal
    # Démarrer Docker si pas déjà lancé
    if ! pgrep -x "dockerd" > /dev/null; then
    sudo dockerd > /dev/null 2>&1 &
    fi

    Pour éviter le mot de passe sudo, ajoutez dans /etc/sudoers.d/docker :

    %docker ALL=(ALL) NOPASSWD: /usr/bin/dockerd
  4. Vérifier l'installation

    Fenêtre de terminal
    docker run hello-world

Avantages :

  • Gratuit même pour les entreprises
  • Docker Engine natif Linux
  • Pas de VM supplémentaire

Inconvénients :

  • Pas d'interface graphique
  • Configuration manuelle du démarrage
  • Pas de Kubernetes intégré

Sur macOS, deux méthodes existent : Docker Desktop, complet mais sous licence commerciale au-delà de 250 employés, ou Colima, une alternative libre installée par brew install colima docker.

Comme sur Windows, macOS fait tourner les conteneurs dans une machine virtuelle Linux, jamais directement sur le système hôte. Cette indirection explique la lenteur bien connue des bind mounts entre le Mac et les conteneurs. Deux options : Docker Desktop, complet mais sous licence, et Colima, plus léger et entièrement libre.

Vérifiez d'abord l'architecture de votre Mac : le paquet Apple Silicon et le paquet Intel ne sont pas interchangeables, et l'installateur du mauvais type refuse de se lancer.

  1. Télécharger Docker Desktop

  2. Installer l'application

    • Ouvrez le fichier .dmg
    • Glissez Docker dans Applications
    • Lancez Docker depuis Applications
  3. Configurer les ressources

    Dans Settings > Resources, ajustez selon vos besoins :

    • CPUs : 2-4 recommandé
    • Memory : 4-8 GB recommandé
    • Disk : selon vos images
  4. Vérifier l'installation

    Fenêtre de terminal
    docker run hello-world

Colima (Containers on Lima) est une alternative open-source et gratuite à Docker Desktop sur macOS.

  1. Installer Homebrew (si pas déjà installé)

    Le script d'installation habituel se lance par curl | bash, ce qui exécute sans contrôle ce que renvoie le réseau. Homebrew publie aussi un installateur .pkg signé sur ses releases GitHub : téléchargez-le, vérifiez son empreinte et sa signature Apple, puis installez-le.

    Fenêtre de terminal
    # Installateur publié avec la release Homebrew 6.0.12
    curl -fsSLO https://github.com/Homebrew/brew/releases/download/6.0.12/Homebrew.pkg
    # Empreinte SHA-256 de l'artefact, publiée sur la page de release
    echo "b42d41a4d76366e0bdc53edfd7cd72e893037c23e09a3575c732a02d8f027364 Homebrew.pkg" \
    | shasum -a 256 --check
    # Homebrew.pkg: OK
    # Contrôler la signature avant d'installer
    pkgutil --check-signature Homebrew.pkg
    sudo installer -pkg Homebrew.pkg -target /

    Adaptez le numéro de version et l'empreinte à la release courante, les deux figurent sur la page de release de Homebrew/brew.

  2. Installer Colima et Docker CLI

    Fenêtre de terminal
    brew install colima docker docker-compose
  3. Démarrer Colima

    Fenêtre de terminal
    # Démarrage avec configuration par défaut
    colima start
    # Ou avec ressources personnalisées
    colima start --cpu 4 --memory 8 --disk 60
  4. Vérifier l'installation

    Fenêtre de terminal
    docker run hello-world
  5. Configurer le démarrage automatique (optionnel)

    Fenêtre de terminal
    brew services start colima

Commandes Colima utiles :

CommandeDescription
colima startDémarrer la VM
colima stopArrêter la VM
colima statusÉtat actuel
colima deleteSupprimer la VM
colima sshAccéder à la VM

Une installation Docker se vérifie par trois commandes dans cet ordre : docker version, docker info, puis docker run hello-world.

Une installation réussie se prouve donc en trois temps : la CLI répond, le daemon est joignable, et un conteneur démarre pour de bon. Les trois commandes ci-dessous couvrent chacun de ces niveaux dans l'ordre, ce qui permet d'isoler la panne quand quelque chose ne marche pas.

Ces trois commandes sont complémentaires : docker version teste le dialogue avec le daemon, docker info restitue sa configuration effective, et docker run valide la chaîne complète jusqu'au réseau et au registre.

Fenêtre de terminal
# Version client et serveur
docker version
# Informations système détaillées
docker info
# Test fonctionnel complet
docker run hello-world

docker version affiche les versions du client et du daemon :

Client: Docker Engine - Community
Version: 29.1.3
API version: 1.52
Go version: go1.25.5
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 29.1.3
API version: 1.52 (minimum version 1.44)
OS/Arch: linux/amd64
containerd:
Version: v2.2.1

Le point à contrôler n'est pas le numéro exact, qui dépend de la date d'installation, mais la présence du bloc Server. S'il manque, la CLI est installée mais ne parle pas au daemon.

docker info affiche les détails de configuration :

Fenêtre de terminal
docker info | grep -E "Storage Driver|Docker Root Dir|Containers|Images"

L'image hello-world ne pèse que quelques kilo-octets et son unique rôle est de valider la chaîne d'exécution. Elle exige tout de même un accès réseau à Docker Hub au premier lancement : une erreur à cette étape désigne souvent le proxy ou le DNS, pas l'installation de Docker.

Fenêtre de terminal
docker run hello-world

Cette commande :

  1. Télécharge l'image hello-world depuis Docker Hub
  2. Crée et démarre un conteneur
  3. Affiche un message de confirmation
  4. Arrête le conteneur

Si vous voyez "Hello from Docker!", l'installation est réussie.

La panne la plus fréquente après installation est permission denied sur /var/run/docker.sock : elle se règle par sudo usermod -aG docker $USER suivi de newgrp docker.

Les autres pannes d'installation se répartissent par plateforme, et la cause diffère franchement de l'une à l'autre : permissions et conflits de paquets sur Linux, virtualisation sur Windows, performances de la VM sur macOS. Repérez d'abord votre système, puis le symptôme exact dans le tableau correspondant.

Sur Linux, les problèmes les plus fréquents concernent les permissions et les conflits de packages.

ProblèmeSolution
permission denied sur docker.sockAjouter l'utilisateur au groupe docker + newgrp docker
Docker ne démarre pasVérifier journalctl -u docker.service
docker.io vs docker-ce conflitDésinstaller docker.io avant d'installer docker-ce
Espace disque insuffisantVérifier /var/lib/docker, exécuter docker system prune

Sur Windows, les problèmes concernent généralement WSL2, la virtualisation ou les ressources système.

ProblèmeSolution
WSL2 non disponibleExécuter wsl --install en admin
Docker Desktop ne démarre pasVérifier que la virtualisation est activée dans le BIOS
Erreur Hyper-VUtiliser le backend WSL2 au lieu de Hyper-V
Lenteur extrêmeVérifier les ressources allouées dans Settings

Sur macOS, les problèmes sont souvent liés aux performances de la VM ou aux certificats SSL corporate.

ProblèmeSolution
Docker Desktop lentAugmenter CPU/RAM dans Settings > Resources
Colima ne démarre pascolima delete puis colima start
Bind mount lentUtiliser des volumes nommés pour les dépendances
Certificat SSLAjouter le certificat dans Keychain Access

Quand aucun symptôme du tableau ne correspond, ces commandes donnent les éléments à examiner. Attention à la dernière : docker system prune -a supprime toutes les images non utilisées par un conteneur en cours, y compris celles qu'il faudra retélécharger ensuite.

Fenêtre de terminal
# Logs du daemon Docker (Linux)
sudo journalctl -u docker.service --no-pager -n 50
# Informations système complètes
docker info
# Vérifier la connectivité
docker run --rm alpine ping -c 3 8.8.8.8
# Espace utilisé
docker system df
# Nettoyer les ressources inutilisées
docker system prune -a

Huit points résument le guide. Les quatre premiers portent sur le choix du produit selon la plateforme et la licence, les quatre suivants sur ce qu'il reste à faire une fois les paquets installés, étape que beaucoup sautent avant de se demander pourquoi Docker réclame sudo.

  1. Docker Engine est open-source et s'installe nativement sur Linux
  2. Docker Desktop est gratuit pour usage personnel mais payant pour les grandes entreprises
  3. WSL2 permet d'installer Docker Engine sur Windows sans Docker Desktop
  4. Colima est l'alternative gratuite à Docker Desktop sur macOS
  5. Groupe docker = privilèges root, utilisez rootless mode pour plus de sécurité
  6. docker version vérifie client et daemon, docker info affiche la configuration
  7. Post-installation : groupe docker, démarrage automatique, daemon.json
  8. newgrp docker applique les changements de groupe sans déconnexion

Les questions ci-dessous reviennent régulièrement au moment de l'installation, en particulier sur la licence de Docker Desktop et sur les alternatives libres selon la plateforme.

Docker installé, la suite logique est d'apprendre à le piloter, puis à le configurer et à le durcir. Les cinq guides ci-dessous suivent cet ordre : la CLI d'abord, le durcissement ensuite, l'orchestration multi-conteneurs en dernier.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn