Installer Docker sur linux
Published on November 2, 2025 at 02:41 PM

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














