Installer Docker sur Debian en mode root
Docker est l'une des plateformes de conteneurisation les plus populaires, vous permettant d'exécuter des applications dans des environnements isolés. Par défaut, Docker fonctionne en mode rootful, ce qui signifie qu'il utilise les privilèges root du système pour gérer les conteneurs. Cette configuration est idéale pour la plupart des utilisateurs qui recherchent une meilleure compatibilité et moins de problèmes de configuration.
Dans ce guide, vous apprendrez comment installer et configurer le moteur Docker et Docker Compose sur un système Debian propre en utilisant le mode root.
Pourquoi choisir Rootful Docker ?
Docker Rootful signifie que le daemon Docker fonctionne en tant que root et gère les conteneurs avec des privilèges élevés.
Avantages :
- Compatibilité totale avec la plupart des images et des applications
- Réseautage et mappage de ports plus faciles
- Meilleure intégration avec les outils système
Inconvénients :
- Moins sûr que le mode sans root car le démon s'exécute avec les privilèges root
Docker avec privilèges root est parfaitement acceptable si :
- Vous êtes le seul utilisateur sur le système.
- Vous exécutez des images de confiance (par exemple, provenant de sources officielles ou vérifiées).
- Vous n’exposez pas le socket Docker.
- Vous évitez les conteneurs privilégiés et les capacités dangereuses.
C'est pourquoi de nombreux systèmes de production utilisent encore Docker avec privilèges root.
Si l'isolation de sécurité est votre priorité absolue, vous pouvez plus tard passer à Docker sans root. Nous publierons bientôt un guide à ce sujet.
Exigences Docker
Pour installer et configurer Docker, votre système doit répondre aux exigences minimales suivantes.
- 64 bits systèmes d'exploitation Linux ou Windows.
- Si vous êtes sur Linux, la version du noyau doit être 3.10 ou supérieure.
- Un compte utilisateur avec des privilèges
sudo. - VT (technologie de virtualisation) activé dans le BIOS de votre système. [Lire : Comment savoir si un CPU prend en charge la technologie de virtualisation (VT)]
- Votre système doit être connecté à Internet.
Étape 1. Mettez à jour votre système
Maintenir votre système à jour garantit que vous disposez des derniers correctifs de sécurité.
Pour mettre à jour votre système Debian, exécutez :
sudo apt update && sudo apt upgrade -yÉtape 2. Désinstaller les anciennes versions de Docker (Optionnel)
Remarque : Si c'est un système Debian fraîchement installé, vous pouvez passer cette étape.
Si vous avez précédemment installé Podman, Docker ou d'autres environnements d'exécution de conteneurs, supprimez-les d'abord :
sudo apt remove -y docker docker-engine docker.io containerd runc podmansudo apt autoremove -ySupprimez également tous les dépôts restants :
sudo rm /etc/apt/sources.list.d/docker.listsudo rm /etc/apt/sources.list.d/podman.listÉtape 3. Ajouter le dépôt officiel Docker
Installer les dépendances :
sudo apt install -y ca-certificates curl gnupg lsb-releaseAjoutez la clé GPG de Docker :
sudo mkdir -p /etc/apt/keyringscurl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpgAjoutez le dépôt Docker :
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/nullDans le dernier Debian 13, il est recommandé de moderniser les sources apt.
Pour ce faire, exécutez :
sudo apt modernize-sourcesMettre à jour les listes de paquets :
sudo apt updateÉtape 4. Installer Docker Engine et Docker Compose sur Debian
Pour installer le moteur Docker, Docker Compose ainsi que tous les composants requis sur Debian 13, exécutez :
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginCette commande installe :
- Moteur Docker
- CLI Docker
- Plugin Docker Compose
Étape 5. Activer et démarrer Docker
Activez le service Docker au démarrage du système en utilisant les commandes :
sudo systemctl enable dockersudo systemctl start dockerVérifiez l'état du service :
sudo systemctl status dockerExemple de sortie :
docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
Active: active (running) since Tue 2025-09-02 15:46:43 IST; 7min ago
Invocation: a87449e79b744dbbb36c7bfd131415fc
TriggeredBy: \u25cf docker.socket
Docs: https://docs.docker.com
Main PID: 3427 (dockerd)
Tasks: 9
Memory: 21.9M (peak: 23.4M)
CPU: 337ms
CGroup: /system.slice/docker.service
/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
[...]Comme vous pouvez le voir dans la sortie ci-dessus, le service docker est chargé et en cours d'exécution.
Étape 6. Vérifier l'installation de Docker
Pour vérifier si Docker est correctement installé et fonctionne, exécutez le conteneur de test hello-world :
sudo docker run hello-worldSi cela réussit, vous verrez un message de confirmation.
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
17eec7bbc9d7: Pull complete
Digest: sha256:a0dfb02aac212703bfcb339d77d47ec32c8706ff250850ecc0e19c8737b18567
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/Étape 7 : Vérifier la version de Docker
Pour vérifier la version de Docker installée, exécutez :
sudo docker versionExemple de sortie :
Client: Docker Engine - Community
Version: 28.3.3
API version: 1.51
Go version: go1.24.5
Git commit: 980b856
Built: Fri Jul 25 11:34:13 2025
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 28.3.3
API version: 1.51 (minimum version 1.24)
Go version: go1.24.5
Git commit: bea959c
Built: Fri Jul 25 11:34:13 2025
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.7.27
GitCommit: 05044ec0a9a75232cad458027ca83437aae3f4da
runc:
Version: 1.2.5
GitCommit: v1.2.5-0-g59923ef
docker-init:
Version: 0.19.0
GitCommit: de40ad0Étape 8. Gérer Docker sans sudo (Facultatif)
Par défaut, Docker nécessite des privilèges root.
Pour gérer les conteneurs sans sudo, ajoutez votre utilisateur au groupe docker :
sudo usermod -aG docker $USERnewgrp dockerVérifiez maintenant si vous pouvez gérer Docker sans utiliser sudo :
docker psS'il n'y a pas d'erreurs de permission, vous êtes prêt à partir.
Étape 9. Vérifiez si Docker fonctionne en mode root
Courir :
sudo docker info | grep -i rootlessSi vous ne voyez rien, Docker fonctionne en mode root.
Vérifiez qui exécute le processus démon :
ps aux | grep dockerdExemple de sortie :
root 3427 0.0 1.0 2045556 84480 ? Ssl 15:46 0:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sockIci,
- Le processus
dockerds'exécute en tant que root. Cela confirme donc Docker avec privilèges root. - Le démon utilise le socket containerd du système :
/run/containerd/containerd.sock.
Étape 10. Activer Docker Compose
Docker inclut maintenant Compose en tant que plugin :
docker compose versionSi vous avez besoin de la version la plus récente, vous pouvez télécharger le binaire autonome de Compose depuis la page releases officielles de Docker Compose sur GitHub :
sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep tag_name | cut -d '"' -f4)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-composedocker-compose --versionÉtape 11 : Commencer avec Docker
Après l'installation, vous pouvez commencer à déployer vos applications conteneurisées dans Docker. Nous avons compilé un guide détaillé sur l'utilisation de Docker avec des exemples. Veuillez vérifier le lien suivant :
- Commencer avec Docker | Guide pour débutants
[Optionnel] Migrer vers Docker sans privilèges
Le mode sans racine vous permet d'exécuter Docker sans privilèges root pour une sécurité accrue.
Quelques avantages importants du mode Docker sans racine sont :
dockerds'exécute en tant qu'utilisateur normal.- Même si un conteneur s'échappe, il n'a qu'un accès au niveau utilisateur sur l'hôte.
- Fournit une isolation plus forte, notamment dans les environnements partagés ou non fiables.
Docker sans racine mérite d'être envisagé si :
- Vous êtes dans un environnement multi-utilisateur.
- Vous utilisez des images non fiables.
- Vous voulez une défense en profondeur plus forte.
- Vous devez respecter des politiques strictes de conformité/sécurité.
Veuillez noter que Docker sans privilèges n'est pas une solution miracle, mais il rend les échappées de conteneurs moins catastrophiques.
Si vous voulez une isolation maximale et la tranquillité d'esprit, surtout lorsque vous expérimentez avec des images tierces, passez à Docker rootless comme expliqué dans le guide ci-dessous.
- Passer à Docker sans privilèges sur Debian et Ubuntu Linux
Dépannage
1. Conflits de l'ancien dépôt
Si vous avez accidentellement ajouté un dépôt Ubuntu pour Docker sur Debian, vous pouvez le supprimer :
sudo rm /etc/apt/sources.list.d/docker.listsudo apt updateEt ensuite ajoutez le dépôt correct pour votre système Debian.
2. Le démon Docker ne démarre pas
Redémarrez le service Docker et vérifiez les journaux pour d'éventuels indices :
sudo systemctl restart dockersudo journalctl -u docker --no-pager3. Conflits de ports
Assurez-vous que les ports que vous mappez dans les conteneurs ne sont pas déjà utilisés :
sudo ss -tulnp | grep 8000Questions Fréquemment Posées (FAQ)
Q : Devrais-je utiliser Docker en mode root ou sans root ?
A: Avec root: Installation plus facile, meilleure compatibilité et recommandé pour la plupart des utilisateurs.
Sans root: Plus sûr, mais légèrement plus difficile à configurer.
Q : Comment passer à Docker sans root plus tard ?
A : Désinstallez Docker avec privilèges root et suivez le Guide officiel d'installation de Docker sans root. Vous pouvez également utiliser Podman, qui fonctionne en mode sans root par défaut.
Q : Docker Compose est-il installé par défaut ?
A : Oui, Docker Compose v2 est inclus en tant que plugin.
Conclusion
Dans ce guide étape par étape, nous avons appris comment installer et configurer le moteur Docker en mode Rootful sur le dernier système Debian 13. Nous avons également expliqué comment installer Docker Compose et quelques conseils courants de dépannage.
Lecture suggérée :
- Configurer Docker et Docker Compose avec DockSTARTer
- Comment mettre automatiquement à jour les conteneurs Docker en cours d'exécution
- ctop – Un outil de surveillance en ligne de commande pour les conteneurs Linux
- Portainer – La façon la plus simple de gérer Docker
- PiCluster – Une application de gestion Docker simple basée sur le web
- Dockly - Gérer les conteneurs Docker depuis le terminal



