Contexte : installer Docker Engine et Docker Compose depuis le dépôt officiel de Docker, base de la plupart des déploiements décrits dans ce wiki · Testé sur : Ubuntu Server 20.04 (version d'origine) ; commandes mises à jour d'après la documentation officielle de Docker, applicables à Ubuntu et Debian · Dernière vérification : contenu de 2023 non revérifié
Installer Docker Engine et le plugin Docker Compose à partir du dépôt APT officiel de Docker, puis vérifier le fonctionnement avec l'image de test hello-world. Un script en fin de page automatise l'ensemble.
La version d'origine de cette page (2023) ajoutait la clé du dépôt avec
apt-keyet téléchargeait l'ancien binaire autonomedocker-compose. Ces deux méthodes sont obsolètes :apt-keya disparu des versions récentes d'APT, et Compose est désormais un plugin qui s'utilise avec la commandedocker compose. La procédure ci-dessous suit la méthode actuelle.
sudo.curl.sudo -v
Si vous avez les droits sudo, votre mot de passe vous est demandé et la commande se termine sans erreur. Sinon, connectez-vous en root et ajoutez votre utilisateur au groupe sudo, en remplaçant nom_utilisateur par son nom :
adduser nom_utilisateur sudo
curl --version
Si curl est installé, sa version s'affiche. Sinon, installez-le :
sudo apt-get install curl -y
Mettez à jour la liste des paquets, puis installez les certificats racine nécessaires aux téléchargements en HTTPS :
sudo apt-get update
sudo apt-get install -y ca-certificates curl
La clé permet à APT de vérifier l'authenticité des paquets Docker téléchargés. Elle est rangée dans un trousseau dédié, /etc/apt/keyrings/docker.asc :
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
Sur Debian, remplacez
linux/ubuntuparlinux/debiandans l'adresse de cette étape et de la suivante.
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
La commande détecte automatiquement l'architecture et le nom de code de la distribution.
sudo apt-get update
Les paquets du dépôt Docker sont désormais disponibles.
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Le paquet docker-compose-plugin fournit Docker Compose, qui s'utilise avec la commande docker compose (avec une espace, sans tiret).
Affichez les versions installées, puis lancez le conteneur de test :
docker --version
docker compose version
sudo docker run hello-world
Le conteneur affiche « Hello from Docker! » : Docker Engine télécharge les images et exécute les conteneurs correctement.
Le script suivant enchaîne toutes les étapes, puis propose le test hello-world. Créez le fichier install_docker.sh :
#!/bin/bash
set -e
# Distribution : ubuntu ou debian, détectée automatiquement
DISTRO="$(. /etc/os-release && echo "$ID")"
# Mise à jour du cache des paquets et installation des prérequis
sudo apt-get update
sudo apt-get install -y ca-certificates curl
# Ajout de la clé GPG officielle de Docker
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL "https://download.docker.com/linux/${DISTRO}/gpg" -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Ajout du dépôt Docker à la liste des sources APT
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/${DISTRO} $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Mise à jour du cache des paquets
sudo apt-get update
# Installation de Docker Engine et du plugin Docker Compose
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Affichage des versions installées
docker --version
docker compose version
# Demande de confirmation pour exécuter le test Hello World
read -p "Voulez-vous faire un test avec l'image Hello World ? (y/n) " choice
case "$choice" in
y|Y|yes|Yes )
sudo docker run hello-world
;;
n|N|no|No )
;;
* )
echo "Veuillez répondre avec y ou n."
;;
esac
Rendez-le exécutable, puis lancez-le :
chmod +x install_docker.sh
./install_docker.sh
| Symptôme | Cause probable | Solution |
|---|---|---|
apt-key: command not found |
Procédure ancienne suivie sur une distribution récente | Utilisez la méthode du trousseau /etc/apt/keyrings décrite à l'étape 4 |
docker-compose: command not found |
Compose est installé comme plugin, pas comme binaire autonome | Utilisez docker compose (avec une espace) |
Unable to locate package docker-ce |
Dépôt absent ou cache APT non mis à jour | Vérifiez /etc/apt/sources.list.d/docker.list, puis relancez sudo apt-get update |
permission denied while trying to connect to the Docker daemon socket |
Commande lancée sans sudo par un utilisateur non autorisé |
Préfixez la commande par sudo |