Installer Docker sur linux

Pas à pas pour installer Docker Engine et Docker Compose Plugin, vérifier l’installation, activer au démarrage, utiliser un premier conteneur et dépanner les erreurs courantes.
Objectifs
- Installer Docker Engine depuis le dépôt officiel
- Activer le plugin Docker Compose
- Lancer un premier conteneur de test
- Gérer les droits utilisateurs et le démarrage automatique
- Mettre à jour, désinstaller et dépanner
Prérequis
- Accès SSH avec privilèges sudo
- Systèmes testés: Debian 12, Ubuntu 22.04 ou plus récent, RHEL/AlmaLinux/Rocky 9
- Connexion internet sortante vers download.docker.com
1) Nettoyer les anciennes versions si présentes
sudo apt remove -y docker docker-engine docker.io containerd runc || true
sudo dnf remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine || true
2) Installer les dépendances de base
Debian ou Ubuntu
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
sudo install -m 0755 -d /etc/apt/keyrings
RHEL/AlmaLinux/Rocky
sudo dnf -y install curl ca-certificates gnupg dnf-plugins-core
3) Ajouter le dépôt Docker officiel et installer
Debian ou Ubuntu
Ajouter la clé GPG et le dépôt stable.
curl -fsSL https://download.docker.com/linux/$(. /etc/os-release && echo $ID)/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/$(. /etc/os-release && echo $ID) $(. /etc/os-release && echo $VERSION_CODENAME) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Démarrer et activer Docker.
sudo systemctl enable --now docker
sudo systemctl status docker --no-pager
RHEL, AlmaLinux, Rocky
Activer le dépôt et installer.
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker
sudo systemctl status docker --no-pager
4) Vérifier l’installation et tester un conteneur
Vérifier les versions.
docker --version
docker compose version
Tester avec l’image hello-world.
sudo docker run --rm hello-world
5) Post-installation: exécuter Docker sans sudo
Ajoutez votre utilisateur au groupe docker, ouvrez une nouvelle session de shell et retestez.
sudo usermod -aG docker $USER
newgrp docker
docker run --rm hello-world
6) Exemple rapide avec Docker Compose
Créez un dossier de test et un fichier docker-compose.yml minimal pour Nginx.
mkdir -p ~/compose-nginx && cd ~/compose-nginx
cat > docker-compose.yml <<'YAML'
services:
web:
image: nginx:stable
ports:
- "8080:80"
restart: unless-stopped
YAML
docker compose up -d
docker compose ps
Ouvrez http://votre-ip:8080 dans un navigateur, puis stoppez si besoin.
docker compose down
7) Mises à jour
Debian/Ubuntu
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
RHEL/AlmaLinux/Rocky
sudo dnf upgrade -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
8) Désinstallation propre
Debian/Ubuntu
sudo apt purge -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo rm -rf /var/lib/docker /var/lib/containerd
RHEL/AlmaLinux/Rocky
sudo dnf remove -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo rm -rf /var/lib/docker /var/lib/containerd
9) Dépannage rapide
Service Docker ne démarre pas
sudo journalctl -u docker -n 200 --no-pager
sudo systemctl restart docker
Permission denied sur la socket
groups
sudo usermod -aG docker $USER
newgrp docker
Port déjà utilisé par un autre service
sudo ss -ltnp | grep :80
sudo ss -ltnp | grep :443
Conflit avec un autre moteur de conteneur
sudo systemctl stop podman
sudo systemctl disable podman
sudo systemctl restart docker
Résumé
- Dépôts officiels ajoutés et Docker Engine installé
- Service docker activé au démarrage
- Plugin Docker Compose prêt à l’emploi
- Exemples hello-world et Nginx pour valider
- Procédure de mise à jour, suppression et dépannage incluse














