Installer Docker sous Linux : Ubuntu, Debian, RHEL | INTROSERV
EUR
european

EUR

usa

USD

French Fr
Ex. VAT Ex. VAT 0%

Installer Docker sur les distributions Linux populaires : guide d'installation de Docker sous Linux

Niveau : Intermédiaire
Durée estimée : ~15 minutes
Objectif : Configurer un environnement sécurisé et décentralisé en installant Docker afin d'auto-héberger des services personnels tels que Nextcloud, Bitwarden et Matrix.

Introduction

Héberger vos propres services « cloud » garantit la confidentialité et la pleine propriété de vos données. Pour déployer des services comme Nextcloud (stockage de fichiers), Bitwarden (gestion des mots de passe) ou Matrix (communication sécurisée) sans avoir à gérer des dépendances complexes au niveau de l'hôte, il faut des environnements isolés. Dans ce tutoriel, nous verrons comment installer Docker sous Linux afin de construire une base d'auto-hébergement robuste et reproductible. Que vous ayez besoin d'une installation complète de Docker sous Linux pour un seul serveur ou pour un parc entier, chacune des étapes ci-dessous s'applique à Ubuntu, Debian et aux distributions compatibles RHEL. À la fin de ce guide d'installation de Docker sous Linux, vous disposerez d'un environnement prêt pour la production, configuré avec des paramètres de sécurité par défaut conformes aux bonnes pratiques.

Terminologie

Avant de poursuivre, assurez-vous de bien comprendre ces concepts essentiels :

  • Docker : une plateforme pour développer, distribuer et exécuter des applications dans des environnements isolés.
  • Docker Engine : la technologie client-serveur centrale qui crée et exécute les conteneurs.
  • Conteneur (Container) : un composant exécutable standardisé qui associe le code source d'une application aux bibliothèques du système d'exploitation et aux dépendances nécessaires à son exécution.
  • Image : un modèle en lecture seule contenant les instructions de création d'un conteneur.
  • Démon Docker (Docker daemon) : le service d'arrière-plan exécuté sur l'hôte qui gère la construction, l'exécution et la distribution des conteneurs.
  • Docker CLI : l'interface en ligne de commande utilisée pour interagir avec le démon.
  • Docker Hub : un registre public maintenu par Docker pour rechercher et partager des images de conteneurs.
  • Registre (Registry) : un système de stockage et de distribution d'images de conteneurs.
  • Installation : le processus qui rend les programmes prêts à être exécutés.
  • Gestionnaire de paquets : un outil logiciel qui automatise l'installation, la mise à niveau, la configuration et la suppression des programmes.
  • Dépôt (Repository) : un emplacement central où les paquets logiciels sont stockés et maintenus.
  • Dépôt officiel de Docker : la source de confiance maintenue par Docker pour obtenir des paquets logiciels stables.
  • Paquet : une archive compressée contenant tous les fichiers fournis avec une application donnée.
  • Dépendance : un programme ou une bibliothèque dont un autre programme a besoin pour fonctionner correctement.
  • Version stable (Stable release) : une version d'un logiciel qui a été testée à fond et est considérée comme fiable pour un usage en production.
  • Version : un état unique du logiciel reflétant ses fonctionnalités et correctifs propres.

Prérequis

Avant de commencer, assurez-vous que les conditions suivantes sont remplies :

  • Système d'exploitation : Ubuntu 20.04/22.04/24.04 LTS, Debian 11/12/13 ou compatible RHEL (AlmaLinux, Rocky, RHEL) 8/9/10
  • Accès : accès sudo ou root au serveur
  • Connaissances requises : maîtrise de la ligne de commande Linux

Étape 1 : Configurer le dépôt Docker

Pour obtenir la version la plus récente, sûre et stable, utilisez toujours le dépôt officiel de Docker plutôt que les dépôts par défaut du système d'exploitation.

Pour Ubuntu :

Commencez par mettre à jour l'index du gestionnaire de paquets Linux et installez les paquets nécessaires pour permettre à apt d'utiliser un dépôt via HTTPS :

sudo apt update sudo apt install ca-certificates curl gnupg lsb-release

Ajoutez la clé GPG officielle de Docker :

sudo mkdir -m 0755 -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \ sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Configurez le dépôt stable :

echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Pour Debian :

Les étapes pour installer Docker sous Debian reprennent celles d'Ubuntu, mais pointent vers l'URL de dépôt propre à Debian. Commencez par mettre à jour l'index du gestionnaire de paquets Linux et installez les paquets nécessaires :

sudo apt update sudo apt install ca-certificates curl gnupg lsb-release

Ajoutez la clé GPG officielle de Docker :

sudo mkdir -m 0755 -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | \ sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Configurez le dépôt stable :

echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/debian $(lsb_release -cs) stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Pour les distributions compatibles RHEL (AlmaLinux, Rocky, RHEL) :

Installez le paquet yum-utils et configurez le dépôt stable :

sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo

Info

Docker publie ses paquets pour toutes les distributions compatibles RHEL (y compris AlmaLinux et Rocky Linux) sous le chemin de dépôt centos. L'utilisation de cette URL est normale et entièrement prise en charge.

Résultat : Le dépôt Docker est maintenant ajouté à votre système, ce qui permet au gestionnaire de paquets de récupérer les derniers paquets Docker.

Étape 2 : Installer Docker sur Ubuntu et Debian

Une fois le dépôt Docker configuré, passez à l'installation de Docker Engine sur Ubuntu (ou Debian - les commandes sont identiques). Cette étape s'applique aux deux distributions.

Commencez par supprimer les paquets en conflit fournis par les dépôts du système d'exploitation :

sudo apt remove docker.io podman-docker containerd runc

Mettez à nouveau à jour l'index des paquets apt, puis utilisez le gestionnaire de paquets Linux pour installer les composants requis :

sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin \ docker-compose-plugin

Résultat : La commande s'exécute et récupère les paquets ainsi que toutes les dépendances nécessaires depuis le dépôt Docker. Le gestionnaire de paquets devrait terminer l'installation de Docker Engine sans erreur.

Info

docker-ce désigne Docker Community Edition, la version gratuite, idéale pour l'auto-hébergement.

Étape 3 : Installer Docker sur les distributions compatibles RHEL (AlmaLinux, Rocky, RHEL)

Sur les systèmes basés sur RHEL, utilisez yum pour installer Docker Engine.

Commencez par supprimer les paquets en conflit fournis par les dépôts du système d'exploitation :

sudo yum remove docker docker-client docker-client-latest docker-common \ docker-latest docker-latest-logrotate docker-logrotate docker-engine \ podman runc

Exécutez la commande suivante :

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin \ docker-compose-plugin

Résultat : Le gestionnaire de paquets installe les paquets nécessaires. Il vous sera demandé d'accepter la clé GPG (sauf si vous passez l'option -y) ; confirmez. Une fois l'opération terminée, un message de réussite s'affiche.

Étape 4 : Vérification de l'installation de Docker Engine

Après l'installation, le comportement du démon Docker varie selon la distribution. Sur Ubuntu et Debian, docker.service démarre automatiquement dès l'installation. Sur les distributions de la famille RHEL, ce n'est pas le cas.

Warning

Famille RHEL uniquement : si le processus d'installation a mis à jour le noyau (par exemple via une dépendance kernel-core), redémarrez le serveur avant de lancer le service Docker :

sudo reboot

Ignorer cette étape peut faire échouer systemctl start docker avec des erreurs br_netfilter / addrtype, car le noyau en cours d'exécution ne correspond plus aux modules installés.

Une fois le serveur démarré sur le noyau à jour, démarrez et activez le service. Les commandes suivantes sont idempotentes et peuvent être exécutées sans risque sur tous les systèmes :

sudo systemctl start docker sudo systemctl enable docker

Résultat : Le démon Docker démarre et le système crée un lien symbolique afin qu'il se lance automatiquement à chaque redémarrage.

Vérifiez que l'installation de Docker Engine a réussi en exécutant l'image hello-world :

sudo docker run hello-world

Résultat : Le Docker CLI contacte le démon Docker, télécharge l'image hello-world depuis Docker Hub et exécute un conteneur. Vous devriez voir s'afficher dans votre terminal le message « Hello from Docker! ».

Étape 5 : Étapes post-installation de Docker

Par défaut, l'exécution des commandes Docker nécessite sudo. Pour les exécuter en tant qu'utilisateur non root, vous devez ajouter votre utilisateur au groupe docker. Ce sont les étapes post-installation de Docker indispensables pour gérer confortablement votre infrastructure auto-hébergée.

Créez le groupe docker (s'il n'existe pas déjà) :

getent group docker || sudo groupadd docker

Ajoutez votre utilisateur au groupe docker :

sudo usermod -aG docker $USER

Résultat : Votre utilisateur est ajouté au groupe. Pour que les changements prennent effet, vous devez vous déconnecter puis vous reconnecter, ou activer la nouvelle appartenance au groupe dans la session en cours :

newgrp docker

Info

newgrp docker crée un nouveau shell avec l'appartenance aux groupes mise à jour. Toute commande docker exécutée ensuite fonctionnera sans sudo, mais uniquement dans ce nouveau shell. L'ouverture d'un autre terminal nécessite toujours une reconnexion complète.

Warning

L'appartenance au groupe docker confère des privilèges équivalents à un accès root sur l'hôte. Pour les environnements d'auto-hébergement qui privilégient la sécurité, envisagez sérieusement d'exécuter Docker en mode rootless (voir l'Étape 6).

Après avoir exécuté newgrp docker (ou vous être déconnecté puis reconnecté), testez la configuration en lançant une commande sans sudo :

docker run hello-world

Résultat : Vous devriez voir à nouveau le message « Hello from Docker! », ce qui confirme que vos étapes post-installation de Docker ont réussi.

Alternative : installation rapide via le script de commodité

Pour les environnements de test ou de développement, Docker fournit un script de commodité (convenience script).

Warning

Cette méthode n'est pas recommandée en production. Elle s'exécute sans épinglage de version, effectue une mise à niveau inconditionnelle si Docker est déjà installé et récupère toutes les dépendances sans vérification.

Il est recommandé de télécharger le script et de l'examiner avant de l'exécuter :

curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh

Étape 6 (facultative) : Exécuter Docker en mode rootless

Pour les environnements d'auto-hébergement, exécuter Docker en mode rootless renforce la sécurité, car le démon Docker et les conteneurs s'exécutent sous un utilisateur non root.

6.1 Prérequis

Commencez par arrêter et désactiver le service et le socket Docker à l'échelle du système, puis supprimez le fichier de socket :

sudo systemctl stop docker.service docker.socket sudo systemctl disable docker.service docker.socket sudo rm -f /var/run/docker.sock

Vérifiez que subuid et subgid sont configurés pour votre utilisateur (généralement fait automatiquement) :

cat /etc/subuid cat /etc/subgid

Activez le lingering pour votre utilisateur afin que le démon puisse démarrer au boot :

sudo loginctl enable-linger $USER

6.2 Installer les paquets supplémentaires

Pour Ubuntu/Debian :

sudo apt install docker-ce-rootless-extras uidmap dbus-user-session

Pour AlmaLinux/RHEL (shadow-utils fournit uidmap et est généralement préinstallé) :

sudo yum install docker-ce-rootless-extras

6.3 Installer le démon rootless

Exécutez le script d'installation depuis une session de connexion complète de l'utilisateur cible (et non depuis sudo su ou un shell SSH sans connexion). Si vous êtes dans un contexte sans connexion, exportez d'abord les variables requises :

export XDG_RUNTIME_DIR=/run/user/$(id -u) export DBUS_SESSION_BUS_ADDRESS=unix:path=$XDG_RUNTIME_DIR/bus

Exécutez ensuite le script d'installation :

dockerd-rootless-setuptool.sh install

Info

La première exécution du script d'installation, immédiatement après l'activation du lingering, peut être instable. Si le démon ne démarre pas, relancez simplement le script d'installation.

6.4 Configurer les variables d'environnement

Ajoutez les variables suivantes au fichier de configuration de votre shell (par exemple ~/.bashrc) :

export PATH=/usr/bin:$PATH export DOCKER_HOST=unix:///run/user/$(id -u)/docker.sock

Rechargez le fichier (source) ou redémarrez votre shell pour appliquer les changements.

6.5 Limitations du mode rootless

  • Impossible de publier des ports < 1024 (Docker propose des contournements comme setcap, la redirection de ports via slirp4netns ou le routage).
  • Pas de prise en charge de --net=host.
  • Le mode Swarm et les réseaux overlay ne sont pas pris en charge.
  • AppArmor n'est pas pris en charge.
  • L'option --privileged n'accorde pas d'accès root au niveau de l'hôte.
  • Les données sont stockées dans ~/.local/share/docker (à prendre en compte pour les sauvegardes et les quotas).
  • Nécessite cgroup v2.
  • Utilise le pilote de stockage overlayfs au lieu de overlay2.

Retour arrière (rollback)

Si vous devez annuler l'installation de Docker sous Linux - qu'il s'agisse d'une installation standard ou d'une configuration rootless - suivez les étapes ci-dessous dans l'ordre.

1. Retour arrière du mode rootless (à ignorer si le mode rootless n'a pas été configuré) :

Si vous avez configuré le mode rootless, annulez d'abord ces changements, avant de supprimer les paquets :

dockerd-rootless-setuptool.sh uninstall rm -rf ~/.local/share/docker sudo loginctl disable-linger $USER

Info

Exécuter la désinstallation du mode rootless après la purge des paquets échouera, car le script d'installation fait partie du paquet docker-ce-rootless-extras. Désinstallez toujours le mode rootless tant que les paquets sont encore présents.

2. Supprimer les paquets :

Debian/Ubuntu :

sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin \ docker-compose-plugin docker-ce-rootless-extras sudo rm -rf /var/lib/docker /var/lib/containerd sudo rm -f /etc/apt/sources.list.d/docker.list /etc/apt/keyrings/docker.gpg

AlmaLinux/Rocky/RHEL :

sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin \ docker-compose-plugin docker-ce-rootless-extras sudo rm -rf /var/lib/docker /var/lib/containerd sudo rm -f /etc/yum.repos.d/docker-ce.repo

3. Supprimer le groupe :

sudo groupdel docker || true

Warning

La suppression des paquets ne supprime pas automatiquement les images, conteneurs, volumes ni fichiers de configuration personnalisés. Les commandes rm -rf suppriment définitivement ces répertoires de données.

Conclusion

Votre installation de Docker sous Linux est terminée et vérifiée. Les fondations sont désormais posées de manière sécurisée. Vous pouvez passer au déploiement de conteneurs pour vos outils auto-hébergés, en gardant un contrôle total sur vos fichiers Nextcloud, vos coffres Bitwarden et vos communications Matrix.

Version du document : 1.0
Dernière mise à jour : mai 2026
Propriétaire : Équipe de documentation technique

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA