Installation de Docker
Cette page décrit l'installation de Docker Engine et de Docker Compose sur deux distributions courantes : Arch Linux et Debian / Ubuntu. La procédure couvre l'installation proprement dite, l'activation du service et la configuration post-installation permettant d'utiliser Docker sans privilèges root.
Prérequis
- Une distribution Linux 64 bits (
x86_64ouarm64). - Un noyau Linux récent — au minimum 3.10, en pratique bien plus récent.
- Un accès administrateur (
sudo). - Une connexion Internet pour récupérer les paquets et les images.
Toute installation antérieure de Docker doit être désinstallée avant de procéder, sous peine de conflits de paquets ou de configurations résiduelles.
Installation
- Arch Linux
- Debian / Ubuntu
Sur Arch Linux, Docker est disponible directement dans le dépôt extra :
sudo pacman -S docker docker-compose
Activer et démarrer le service :
sudo systemctl enable --now docker
Vérifier que le daemon répond correctement :
sudo docker run --rm hello-world
Le paquet docker-compose d'Arch fournit le plugin Compose, utilisable via la syntaxe moderne docker compose (sans tiret). L'ancienne syntaxe docker-compose reste disponible mais est dépréciée.
Le dépôt officiel de Docker propose des paquets plus à jour que ceux fournis par défaut par Debian ou Ubuntu. La procédure ci-dessous suit la méthode recommandée par l'éditeur.
1. Supprimer les éventuelles versions précédentes
sudo apt remove docker docker-engine docker.io containerd runc
2. Installer les dépendances
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
3. Ajouter la clé GPG officielle
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg \
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Pour Ubuntu, remplacer debian par ubuntu dans l'URL ci-dessus et dans celle du dépôt à l'étape suivante.
4. Ajouter le dépôt Docker
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/debian $(lsb_release -cs) stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
5. Installer Docker Engine et les plugins associés
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
sudo docker run --rm hello-world
Le service est généralement démarré et activé automatiquement après installation. Si ce n'est pas le cas :
sudo systemctl enable --now docker
Configuration post-installation
Utiliser Docker sans sudo
Par défaut, le socket Docker (/var/run/docker.sock) appartient à l'utilisateur root et au groupe docker. Ajouter son utilisateur à ce groupe permet d'utiliser la CLI sans privilèges élevés :
sudo usermod -aG docker $USER
La modification prend effet à la prochaine session. Pour l'activer immédiatement dans le shell courant :
newgrp docker
Appartenir au groupe docker équivaut à disposer d'un accès root sur l'hôte : un utilisateur de ce groupe peut monter n'importe quel répertoire de l'hôte dans un conteneur privilégié et obtenir une élévation de privilèges. Cette configuration est acceptable sur un poste personnel ou une machine de développement, mais pas sur un serveur partagé ou en production. Pour ces cas, on préférera Rootless Docker ou un accès sudo ciblé.
Vérifier l'installation
Une fois la configuration terminée :
docker version
docker info
docker compose version
docker info affiche notamment le pilote de stockage utilisé, le runtime par défaut et la configuration cgroups — autant d'éléments utiles pour diagnostiquer rapidement un problème.
Démarrage automatique
Pour s'assurer que Docker démarre à chaque boot :
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
Désinstallation
- Arch Linux
- Debian / Ubuntu
sudo systemctl disable --now docker
sudo pacman -Rns docker docker-compose
sudo systemctl disable --now docker
sudo apt purge docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
sudo apt autoremove --purge
Les données persistantes (images, conteneurs, volumes, réseaux) ne sont pas supprimées par la désinstallation des paquets. Pour les effacer :
sudo rm -rf /var/lib/docker /var/lib/containerd
Et ensuite ?
L'installation étant terminée, la prochaine étape consiste à se familiariser avec les commandes fondamentales du cycle de vie d'un conteneur, puis avec la construction d'images via Dockerfile.