Aller au contenu
Conteneurs & Orchestration medium

Installer Docker sur Linux, Windows et macOS

14 min de lecture

logo docker

  • 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 s’installe différemment selon votre système d’exploitation. Sur Linux, vous installez Docker Engine nativement. Sur Windows et macOS, vous avez le choix entre Docker Desktop (application graphique avec licence commerciale) et des alternatives open-source comme WSL2 ou Colima.

Ce guide couvre les méthodes officielles et les alternatives pour chaque plateforme.

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

Avant d’installer, comprenez la différence entre les deux produits Docker.

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)
  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
  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

Après l’installation, configurez Docker pour une utilisation optimale.

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
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

Créez le fichier de configuration pour personnaliser Docker :

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.

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é
  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é)

    Fenêtre de terminal
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  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

Après installation, vérifiez que Docker fonctionne correctement.

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: 24.0.7
API version: 1.43
...
Server: Docker Engine - Community
Engine:
Version: 24.0.7
API version: 1.43 (minimum version 1.12)
...

docker info affiche les détails de configuration :

Fenêtre de terminal
docker info | grep -E "Storage Driver|Docker Root Dir|Containers|Images"
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.

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
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
  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