Aller au contenu
Runbook

Installer Docker sur Ubuntu / Debian

Moteur de conteneurs pour empaqueter, distribuer et exécuter des applications de façon isolée.

Conteneurscontainerconteneurdevopscomposeoci

Installation

Script officiel (rapide) · Script
curl -fsSL https://get.docker.com | sh

Pratique pour un poste de dev ou un VPS. À éviter en production : préférez le dépôt APT versionné ci-dessous.

Dépôt APT officiel (recommandé) · apt
sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo \"$VERSION_CODENAME\") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Pour Debian, remplacez l'URL ubuntu par debian dans la clé GPG et le dépôt.

Vérifier l'installation

Vérifier
docker --version
sudo docker run --rm hello-world

Service

Démarrer
sudo systemctl start docker
Arrêter
sudo systemctl stop docker
Statut
sudo systemctl status docker
Redémarrer
sudo systemctl restart docker
Au démarrage
sudo systemctl enable --now docker

Fichiers importants

TypeCheminDescription
config/etc/docker/daemon.jsonConfiguration du démon (registres, pilote de logs, plage d'adresses). À créer si absent.
data/var/lib/dockerImages, conteneurs, volumes et couches du système de fichiers.
socket/var/run/docker.sockSocket Unix par lequel le client dialogue avec le démon.

Outils en ligne de commande

  • dockerClient en ligne de commande pour gérer images et conteneurs.
  • docker composeOrchestration multi-conteneurs (plugin docker-compose-plugin).

Désinstaller

Désinstaller les paquets
sudo apt-get purge -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Supprimer données et config
sudo rm -rf /var/lib/docker /var/lib/containerd /etc/docker

Destructif : efface toutes les images, conteneurs et volumes.

À savoir

  • Ajoutez votre utilisateur au groupe docker pour éviter sudo : sudo usermod -aG docker $USER (puis reconnectez-vous). Cela équivaut à un accès root.
  • Désinstallez d'abord les anciens paquets de distribution : sudo apt-get remove docker docker.io docker-doc docker-compose podman-docker containerd runc.

Installation sur Ubuntu / Debian

Deux voies coexistent. Le script officiel get.docker.com détecte la distribution, ajoute le dépôt et installe le moteur en une commande : idéal pour un poste de développement ou un serveur jetable, mais déconseillé en production car il installe toujours la dernière version sans contrôle de pin. La voie recommandée est le dépôt APT officiel de Docker : vous maîtrisez la version, les mises à jour passent par apt, et vous obtenez le moteur complet (docker-ce), le client, containerd, Buildx et le plugin Compose.

Avant toute installation, supprimez les paquets docker.io ou docker-compose fournis par Ubuntu : ils sont anciens et entrent en conflit avec le dépôt officiel.

Service et droits

Le moteur tourne en tant que service systemd docker. Activez son démarrage automatique avec sudo systemctl enable --now docker. Par défaut, le socket appartient au groupe docker : sans appartenance à ce groupe, chaque commande exige sudo. L'ajout au groupe (sudo usermod -aG docker $USER) supprime cette contrainte mais accorde un contrôle équivalent à root sur la machine, car le démon s'exécute en root.

Configuration du démon

Le fichier /etc/docker/daemon.json (à créer s'il n'existe pas) centralise la configuration du démon : pilote de journalisation, registres miroirs, DNS, plage d'adresses des réseaux par défaut. Après modification, rechargez avec sudo systemctl restart docker. Les données (images, volumes, conteneurs) résident dans /var/lib/docker ; ce répertoire peut grossir rapidement, surveillez l'espace disque et purgez régulièrement avec docker system prune.