Installer Docker sur Ubuntu : guide complet étape par étape pour démarrer sans erreur

Installer Docker sur Ubuntu : guide complet étape par étape pour démarrer sans erreur
Pour installer Docker sur Ubuntu de façon fiable, supprimez d’abord les paquets conflictuels, ajoutez le dépôt officiel Docker, installez Docker Engine et Docker Compose, puis testez le moteur avec docker run --rm hello-world. Cette procédure cible Ubuntu 22.04 LTS en 64 bits, architecture amd64, avec les paquets officiels Docker.
Docker Engine est un moteur de conteneurs qui exécute des applications isolées dans des images reproductibles. L’installation Docker Ubuntu paraît courte, mais les erreurs viennent souvent d’un ancien paquet docker.io, d’une clé de dépôt mal enregistrée ou de droits insuffisants sur le socket Docker.
Sommaire
En bref
🧩 La méthode retenue utilise le dépôt officiel Docker, plutôt que le paquet Ubuntu docker.io, souvent moins récent.
🔍 La procédure installe Docker Engine, Docker CLI, containerd, Buildx et Docker Compose v2 avec APT.
🔒 Le groupe docker évite de saisir sudo, mais il donne des privilèges élevés sur la machine : ce choix doit être évalué.
✅ Le test docker run --rm hello-world confirme que le démon Docker télécharge et exécute réellement un conteneur.
Quels prérequis vérifier avant d’installer Docker sur Ubuntu ?
Installer Docker sur Ubuntu 22.04 demande une machine 64 bits, un compte disposant de sudo, une connexion à Internet et un espace disque disponible pour les images, conteneurs et volumes. Docker indique également la compatibilité de Docker Engine avec les architectures amd64, arm64, armhf, s390x et ppc64le ; ce tutoriel reste volontairement centré sur amd64.
Ubuntu 22.04 LTS est une version officiellement prise en charge par Docker Engine. Docker prend aussi en charge Ubuntu 24.04 LTS, 25.10 et 26.04 LTS en 64 bits, mais le nom de code du dépôt APT est déterminé automatiquement par la commande fournie plus loin.
Étape 1 : identifier Ubuntu, l’architecture et les droits administrateur
Ouvrez le terminal et lancez les contrôles suivants. Le premier affiche l’architecture puis la version d’Ubuntu ; le second vérifie que votre compte peut exécuter des commandes administratives.
uname -m && lsb_release -rs
sudo -v
Le résultat attendu sur la cible de ce guide est x86_64 puis 22.04. La commande sudo -v peut demander votre mot de passe ; une absence de message d’erreur confirme que les droits sont disponibles.
Étape 2 : contrôler la connexion et l’espace de stockage
Docker doit joindre le dépôt officiel pour télécharger les paquets et les images de test. Vérifiez aussi l’espace disponible dans le répertoire utilisé par défaut pour les données Docker.
ping -c 1 download.docker.com
df -h /var/lib/docker
La première commande doit recevoir une réponse réseau. La seconde peut indiquer que /var/lib/docker n’existe pas encore : c’est normal avant l’installation ; observez alors l’espace libre sur la partition affichée.
| Élément à vérifier | Commande | Résultat attendu | Pourquoi |
|---|---|---|---|
| Architecture | uname -m |
x86_64 sur la cible amd64 |
Confirmer la compatibilité des paquets. |
| Version Ubuntu | lsb_release -rs |
22.04 pour ce guide |
Le dépôt utilise le nom de code de la distribution. |
| Droits système | sudo -v |
Aucune erreur | Installer et gérer le service Docker. |
| Réseau | ping -c 1 download.docker.com |
Une réponse reçue | Télécharger les paquets et images. |
Comment préparer Ubuntu pour le dépôt officiel Docker ?
La préparation consiste à retirer les paquets susceptibles d’entrer en conflit, puis à installer les outils de certificats, de téléchargement et de gestion de clés. Ne mélangez pas le paquet Ubuntu docker.io avec Docker Engine installé depuis le dépôt Docker officiel. Cette confusion est une cause fréquente d’erreur d’installation Docker.

Le dépôt APT officiel est signé par une clé stockée dans /etc/apt/keyrings/docker.asc. Cette méthode évite l’ancienne commande apt-key, désormais déconseillée.
Étape 3 : supprimer les paquets Docker conflictuels
Cette commande retire les paquets listés qui peuvent interférer avec l’installation Docker Ubuntu officielle. Elle ne supprime pas automatiquement les données d’applications déjà présentes dans vos volumes ; sur une machine qui héberge des conteneurs utiles, sauvegardez les données avant toute modification.
sudo apt update
sudo apt remove docker.io docker-compose docker-compose-v2 docker-doc podman-docker -y
Vérifiez ensuite l’absence de ces paquets. Une sortie vide est le résultat attendu ; une ligne restante doit être examinée avant de poursuivre.
dpkg -l | grep -E 'docker.io|docker-compose|podman-docker'
Étape 4 : installer les outils nécessaires au dépôt
Les paquets ca-certificates, curl et gnupg servent respectivement à valider les certificats HTTPS, télécharger la clé Docker et gérer sa signature.
sudo apt install ca-certificates curl gnupg -y
La vérification doit afficher les trois paquets comme installés dans la liste APT.
dpkg -l | grep -E 'ca-certificates|curl|gnupg'
Étape 5 : ajouter la clé et le dépôt Docker
La commande suivante crée le dossier de clés, télécharge la clé publique Docker et écrit le dépôt APT adapté au nom de code de votre Ubuntu. Le marqueur $(lsb_release -cs) est évalué par le terminal : sur Ubuntu 22.04, il correspond à jammy.
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
sudo tee /etc/apt/sources.list.d/docker.list << EOF
deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable
EOF
Contrôlez la ligne de dépôt puis rechargez l’index des paquets. La mise à jour ne doit pas afficher d’erreur liée à Docker ou à une signature GPG.
cat /etc/apt/sources.list.d/docker.list
sudo apt update
Un dépôt APT correctement signé est le mécanisme qui permet à Ubuntu de vérifier l’origine des paquets Docker avant leur installation.
Comment installer Docker Engine et Docker Compose sur Ubuntu ?
L’installation officielle de Docker Engine ajoute cinq composants : le moteur docker-ce, l’interface en ligne de commande, containerd.io, Buildx et le greffon Docker Compose v2. Docker Compose est donc installé ici sous la commande moderne docker compose, sans paquet docker-compose séparé.
Cette méthode vise un Docker Engine stable disponible dans le dépôt officiel au moment de l’installation. L’interface et les versions évoluent ; vérifiez la documentation officielle d’installation de Docker Engine sur Ubuntu avant un déploiement sensible.

Étape 6 : installer Docker Engine et les composants associés
Exécutez la commande complète afin de conserver des composants cohérents provenant du même dépôt. Le paquet docker-compose-plugin fournit Docker Compose v2, tandis que docker-buildx-plugin ajoute le moteur de construction Buildx.
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
Vérifiez que le client Docker peut joindre le moteur et que Compose est disponible. La première commande doit afficher une section client et une section serveur ; la seconde doit indiquer une version Compose v2 ou ultérieure.
docker version
docker compose version
Configurer Docker sans sudo : faut-il ajouter son utilisateur au groupe docker ?
Ajouter un utilisateur au groupe docker permet d’exécuter les commandes Docker sans sudo. Le groupe docker donne toutefois un accès équivalent à des privilèges élevés sur la machine. Sur un serveur partagé ou exposé, limitez cette appartenance aux comptes qui en ont réellement besoin.
Le mécanisme est simple : le socket Unix /var/run/docker.sock est accessible aux membres du groupe docker. La commodité ne doit pas masquer la conséquence de sécurité : un utilisateur capable de contrôler Docker peut généralement faire exécuter des actions avec de larges privilèges sur l’hôte.
Étape 7 : ajouter le compte courant au groupe docker
Ajoutez uniquement le compte de la session actuelle. La variable $USER est remplacée par le nom de cet utilisateur par le shell.
sudo usermod -aG docker $USER
Le changement de groupe ne s’applique pas à la session déjà ouverte. Ouvrez une nouvelle session ou utilisez la commande ci-dessous, puis contrôlez l’appartenance au groupe avant de tester Docker sans sudo.
newgrp docker
groups
Étape 8 : démarrer Docker et l’activer au démarrage
Docker Engine fonctionne comme un service système. L’activation garantit le démarrage de Docker et de containerd après le prochain redémarrage, tandis que la dernière commande lance Docker immédiatement.
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
sudo systemctl start docker.service
La vérification doit afficher l’état active (running). Utilisez q pour quitter l’affichage de statut si votre terminal ouvre un lecteur paginé.
sudo systemctl status docker.service
Utiliser Docker sans sudo est un réglage de confort réservé à un poste ou à un compte dont le niveau de confiance est clairement établi.
Comment vérifier l’installation Docker avec un premier conteneur ?
Le test le plus utile lance l’image officielle hello-world. Docker télécharge l’image si elle est absente, crée un conteneur, l’exécute puis l’efface grâce à l’option --rm. Le test vérifie donc le téléchargement, le démon Docker et l’exécution d’un conteneur, pas seulement la présence d’une commande.
Une installation Docker Ubuntu est fonctionnelle lorsque la sortie contient exactement le message Hello from Docker!. Une erreur de permission à cette étape renvoie généralement à l’appartenance au groupe docker ou à une session non renouvelée.
Étape 9 : lancer le conteneur de contrôle
Exécutez cette commande sans sudo après avoir appliqué le changement de groupe. Le conteneur de test disparaît après son exécution : il ne constitue pas un service permanent.
docker run --rm hello-world
Le résultat attendu contient Hello from Docker!. Ce message confirme que Docker Engine reçoit une instruction, récupère une image et lance un premier conteneur Docker.
Docker Engine, Docker Desktop, Snap ou docker.io : quelle méthode choisir ?
Docker Engine depuis le dépôt Docker officiel convient à une installation serveur ou terminal classique sur Ubuntu. Docker Desktop pour Linux ajoute une interface graphique, Docker Compose et Kubernetes, mais repose sur une machine virtuelle sous Linux. Le paquet docker.io et Snap existent aussi, mais ne suivent pas le même rythme de mise à jour que le dépôt Docker officiel.
Le choix doit porter sur le mécanisme d’installation et le niveau d’administration attendu, pas seulement sur la présence d’une commande docker. Pour comprendre les bases de Linux avant de manipuler les dépôts et services, ce guide pour comprendre une distribution Linux peut apporter des repères complémentaires.
| Option | Usage adapté | Limite principale |
|---|---|---|
| Docker Engine via dépôt officiel | Serveur Ubuntu et terminal | Nécessite de gérer APT et les permissions. |
| Docker Desktop pour Linux | Poste de développement avec interface graphique | Utilise une machine virtuelle sous Linux. |
Paquet docker.io |
Installation depuis les dépôts Ubuntu | Peut être moins récent que Docker Engine officiel. |
| Snap | Alternative empaquetée par Snap | Ne constitue pas la méthode officielle retenue ici. |
Erreurs fréquentes pendant une installation Docker Ubuntu
Les échecs les plus courants ne demandent pas de réinstaller Ubuntu. Ils signalent généralement un dépôt mal écrit, une clé GPG absente, un ancien paquet encore présent ou une permission non actualisée. Commencez par lire le message exact et vérifiez le composant concerné plutôt que d’appliquer des commandes de nettoyage destructrices.
- « Permission denied » sur
/var/run/docker.sock: le compte n’appartient pas encore au groupedocker, ou la session n’a pas été renouvelée. Exécutez l’étape 7, ouvrez une nouvelle session ou lanceznewgrp docker. - Paquet Docker introuvable : le dépôt officiel n’est pas enregistré, ou
sudo apt updatea échoué. Relisez le contenu de/etc/apt/sources.list.d/docker.listet contrôlez le fichier/etc/apt/keyrings/docker.asc. - Erreur de signature ou de clé : la clé est absente, illisible ou associée à un mauvais dépôt. Vérifiez que le fichier de clé existe et que la ligne APT utilise bien
signed-by=/etc/apt/keyrings/docker.asc. - Le service Docker est en échec : une ancienne installation ou des paquets conflictuels peuvent rester présents. Vérifiez d’abord les paquets avec
dpkg -let l’état détaillé avecsudo systemctl status docker.service. - Volume monté inaccessible dans un conteneur : les identifiants utilisateur et groupe de l’hôte peuvent différer de ceux du conteneur. Contrôlez les propriétaires du dossier hôte avant de modifier des permissions.
Bonnes pratiques après avoir installé Docker sur Ubuntu
Docker accélère le lancement d’applications, mais il ne remplace pas les règles élémentaires d’administration système. Gardez les images et les volumes sous contrôle, limitez les comptes autorisés à utiliser le démon et évitez d’exposer un port de conteneur sans nécessité documentée.
Une commande Docker Ubuntu lancée avec des droits excessifs peut modifier des fichiers de l’hôte ou manipuler des volumes. Ne corrigez jamais une erreur de permission avec chmod 777 sur le socket Docker ou sur un volume. Cherchez la cause : groupe, propriétaire, UID/GID ou configuration de l’application.
- Utilisez le dépôt officiel Docker pour conserver des paquets cohérents.
- Réservez le groupe
dockeraux utilisateurs réellement autorisés. - Conservez une sauvegarde avant de supprimer des conteneurs ou des volumes contenant des données.
- Évitez le script de commodité
get.docker.compour une machine de production sans audit préalable. - Vérifiez les ports publiés et les règles réseau avant de rendre une application accessible.
Mettre Docker à jour ou le désinstaller proprement
Docker installé par APT se met à jour avec le dépôt Docker configuré dans ce guide. La mise à jour effective doit être validée dans la documentation officielle correspondant à votre version Ubuntu et à votre politique de maintenance ; elle peut modifier Docker Engine, containerd, Buildx et Compose en même temps.
La désinstallation complète est un cas sensible, car les images, conteneurs et volumes peuvent contenir des données d’application. ⚠️ À VALIDER : la commande de suppression complète et la stratégie de conservation des données doivent être vérifiées dans la documentation Docker officielle avant exécution, car la séquence validée ici couvre l’installation et la suppression des paquets conflictuels, pas l’effacement de données Docker existantes.
Sources utiles à consulter
La documentation Docker reste la référence pour vérifier la compatibilité de votre version d’Ubuntu, les changements de paquet et les notes de sécurité. Pour une installation Docker Compose Ubuntu, la commande attendue dans cette procédure est docker compose, fournie par le greffon officiel.
- Documentation Docker Engine pour Ubuntu : procédure officielle, paquets et prérequis.
- Configuration post-installation Docker : implications du groupe
dockeret usage sanssudo. - Documentation Docker Compose : fonctionnement de Compose v2 et commandes associées.
À retenir
- 🧩 Supprimez
docker.ioet les paquets conflictuels avant l’installation officielle. - 🔐 Ajoutez la clé GPG dans
/etc/apt/keyrings, sans utiliserapt-key. - ⚙️ Installez Docker Engine, containerd, Buildx et Compose depuis le même dépôt Docker.
- ✅ Testez le moteur avec
docker run --rm hello-worldaprès le démarrage du service. - 🔒 Traitez l’accès au groupe
dockercomme un privilège élevé, pas comme un simple confort.
Questions fréquentes sur Docker et Ubuntu
Quelle version d’Ubuntu faut-il utiliser pour Docker ?
Ce tutoriel cible Ubuntu 22.04 LTS en 64 bits sur architecture amd64. Docker Engine prend aussi en charge Ubuntu 24.04 LTS, 25.10 et 26.04 LTS en 64 bits ; vérifiez la documentation Docker avant de reprendre les commandes sur une autre version.
Comment savoir si Docker est correctement installé ?
La commande docker version doit afficher les sections client et serveur. Le test docker run --rm hello-world doit ensuite afficher le message Hello from Docker!, preuve que le moteur exécute réellement un conteneur.
Faut-il installer Docker Compose séparément ?
Non, la procédure officielle installe le paquet docker-compose-plugin. Docker Compose s’utilise alors avec la syntaxe docker compose et non avec l’ancien paquet autonome docker-compose.
Pourquoi Docker refuse-t-il une commande sans sudo ?
Le compte utilisé n’est probablement pas encore membre du groupe docker, ou votre session n’a pas été renouvelée. Lancez sudo usermod -aG docker $USER, reconnectez-vous ou exécutez newgrp docker, puis vérifiez avec groups.
Peut-on utiliser le script get.docker.com pour aller plus vite ?
Le script de commodité existe pour les environnements de test et de développement. Pour une machine de production, privilégiez le dépôt APT officiel afin de contrôler les paquets installés, les mises à jour et la configuration du système.
Avertissement : cette procédure cible précisément Ubuntu 22.04 LTS 64 bits sur architecture amd64, avec Docker Engine et Docker Compose v2 issus du dépôt officiel Docker. Rejouez l’ensemble des étapes sur une machine vierge ou un environnement de test avant toute mise en production, puis adaptez les accès, volumes, ports et sauvegardes à votre contexte réel.