
Installation de Docker Engine & Docker Compose sur Debian 13 « Trixie »
Docker est devenu incontournable… Dans ce guide, nous allons voir comment installer proprement Docker Engine et Docker Compose sur la dernière version stable, Debian 13 « Trixie ». Je me base exclusivement sur la documentation officielle de Docker pour garantir une installation pérenne et sécurisée. Notez que cette procédure est également 100% valide pour Debian 12 « Bookworm ».
Avant de commencer, de quoi parle-t-on ?
Docker est devenu le standard pour héberger proprement des services (comme Plex, Nextcloud, Pi-hole ou Home Assistant) dans des conteneurs isolés, sans « polluer » votre système Debian avec des dépendances conflictuelles.
Dans ce guide, nous installerons les deux composants essentiels :
- Docker Engine : Le « moteur ». C’est le service en arrière-plan qui exécute concrètement vos conteneurs. C’est la base indispensable.
- Docker Compose : Le « chef d’orchestre ». Il permet de définir des applications complexes dans un simple fichier texte (
docker-compose.yml) et de les lancer en une seule commande, plutôt que de gérer dix conteneurs manuellement.
1. Prérequis et Environnement de test
Pour ce tutoriel, j’utilise une VM hébergée sur mon serveur personnel (homelab) sous Proxmox. Son objectif est de remplacer, à terme, les conteneurs et services qui tournent actuellement sur mon NAS Synology.
La procédure est identique si vous utilisez un VPS, un PC recyclé en serveur, un serveur dédié, un Raspberry Pi ou une distribution compatible comme Ubuntu. Il vous faut juste un accès root et une connexion Internet.
1.1. Configuration de ma VM Proxmox
Je suis parti sur une configuration standard pour un petit serveur Docker. Elle pourra évoluer au fil du temps :
- CPU : 2 Coeurs
- RAM : 2 Go (suffisant pour débuter)
- Disque : 30 Go SSD, je coche
SSD emulationetDiscardpour les performances et la gestion du TRIM. - Option VM : Je coche
Qemu-Agentpour une meilleure communication entre Proxmox et Debian
1.2. Installation de Debian 13 « Trixie »
J’utilise l’ISO minimale debian-13.2.0-amd64-netinst.iso pour une installation propre :
- Hostname :
docker-srv(je mets le même nom dans Proxmox pour m’y retrouver) - Utilisateurs : Un mot de passe fort pour
rootet la création d’un utilisateur dédié (par exempledocker) pour l’usage au quotidien - Logiciels : Je décoche tout l’environnement graphique pour ne garder que :
Serveur SSHetUtilitaires usuels du système
2. Préparation du serveur Debian
Une fois l’installation de base terminée, il ne faut pas se précipiter sur Docker. Quelques étapes sont nécessaires afin de préparer le système.
2.1. Configuration du Réseau (IP fixe)
Pour un serveur, il est indispensable que l’adresse IP ne change jamais. C’est cette adresse que vous utiliserez pour vous connecter en SSH, mais surtout pour accéder à vos futurs services Docker via un navigateur (sous la forme http://IP_SERVEUR:PORT ).
Pour cela, la méthode la plus simple est d’utiliser votre Box Internet :
- Rendez-vous sur l’interface d’administration de votre box
- Repérez votre VM
- Effectuez une réservation DHCP (Bail statique) pour lui attribuer toujours la même IP (exemple :
192.168.1.50)
Une fois fait, retournez sur la console de la VM et forcez la prise en compte de la nouvelle IP :
systemctl restart networking
Puis vérifiez l’IP :
ip a
2.2. Utilisateur dédié, Sudo et Mises à jour
Nous sommes actuellement connectés en root, mais pour des raisons de sécurité, on va configurer notre utilisateur dédié docker pour qu’il puisse administrer la machine via sudo.
Sur une installation minimale Debian, le paquet sudo n’est pas toujours là. Il faut donc l’installer :
apt install sudo -y
Ensuite donnons les droits sudo à l’utilisateur docker :
usermod -aG sudo docker
Pour finir la configuration, on peut maintenant se déconnecter de root avec la commande exit et se connecter avec notre utilisateur docker pour mettre à jour le système :
sudo apt update && sudo apt upgrade -y
Enfin, comme j’utilise une VM sous Proxmox, c’est le bon moment pour installer Qemu-Agent :
sudo apt install qemu-guest-agent -y
3. Installation de Docker (Méthode Officielle)
Maintenant que notre système est prêt et opérationnel, nous pouvons commencer l’installation de Docker.
Pour bénéficier des dernières fonctionnalités, des correctifs de sécurité et de Docker Compose v2, nous allons configurer le système pour utiliser le dépôt officiel maintenu par Docker Inc.
3.1. Configuration du dépôt officiel
Installation des paquets nécessaires pour que apt puisse utiliser des dépôts en HTTPS :
sudo apt update
sudo apt install ca-certificates curl
Ajout de la clé de sécurité pour garantir l’authenticité des paquets :
# 1. Création du dossier pour les clés, avec les bons droits (0755)
sudo install -m 0755 -d /etc/apt/keyrings
# 2. Téléchargement de la clé GPG officielle depuis les serveurs de Docker
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
# 3. S'assurer que la clé est lisible par tout le monde (pour que 'apt' puisse la lire)
sudo chmod a+r /etc/apt/keyrings/docker.asc
Une fois la clé de sécurité en place, nous allons créer un fichier de configuration moderne (format .sources ) pour indiquer à Debian où trouver les paquets Docker :
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF
Ce bloc de configuration détecte automatiquement le nom de code de votre version de Debian ($VERSION_CODENAME, qui sera ‘trixie’ dans notre cas) et pointe vers la clé GPG que nous venons de télécharger.
3.2. Installation des paquets (Engine & Compose)
Très important : pour que Debian prenne connaissance du nouveau dépôt :
sudo apt update
Puis la commande finale pour installer les paquets Docker (Moteur, CLI et Compose) :
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
3.3. Post-installation : Utiliser Docker sans sudo
Pur des raisons de sécurité, Docker ne doit pas être lancé en root. Ajoutons notre utilisateur courant au groupe docker pour pouvoir lancer des commandes sans utiliser sudo à chaque fois :
sudo usermod -aG docker $USER
3.4. Vérification et Premier Conteneur
Vérifions que tout fonctionne en lançant un 1er conteneur de test (sans sudo !) :
docker run hello-world
Si tout est correct, Docker va télécharger une petite image et afficher un message de bienvenue commençant par Hello from Docker ! comme la capture ci-dessous…

L’installation de Docker est terminée terminée et fonctionnelle. Félicitations !
Avant de partir, quelques commandes utiles et profitons-en pour supprimer le conteneur hello-world :
# Lister tous les conteneurs (actifs et arrêtés)
docker ps -a
# Supprimer tous les conteneurs arrêtés d'un coup (mais pas les images)
docker container prune
# Lister toutes les images
docker image ls
# Supprimer le conteneur 'hello-world' (avec son ID)
docker rm <ID_CONTENEUR_HELLO-WORLD>
# Ensuite on peut supprimer l'image 'hello-world'
docker rmi hello-world
Conclusion et Prochaine Étape
Bravo ! Vous disposez maintenant d’un serveur Debian propre avec un moteur Docker et Docker Compose installés « dans les règles de l’art ». Vous avez goûté à la puissance de la ligne de commande, qui reste la méthode la plus robuste pour l’administration système.
Cependant, pour gérer vos futurs conteneurs au quotidien (voir les logs, les redémarrer, surveiller les ressources), une interface visuelle est bien plus agréable.
Dans le prochain tutoriel, nous franchirons une nouvelle étape en installant Portainer. C’est une interface Web graphique, elle-même installée comme un conteneur Docker, qui permettra de gérer notre environnement d’un seul coup d’œil, sans taper de commandes.
L’essentiel
Voici le résumé des points clés de cette installation :
- Méthode : Toujours privilégier le dépôt officiel Docker (format
.sources) plutôt que le paquet Debian obsolète. - Sécurité : Ne jamais utiliser Docker en root au quotidien. Ajoutez votre utilisateur au groupe dédié :
sudo usermod -aG docker $USER. - Piège classique : N’oubliez pas de vous déconnecter/reconnecter après l’ajout au groupe, sinon les commandes échoueront.
- Nettoyage : Pensez à supprimer vos conteneurs et images de test pour ne pas encombrer le disque (
docker container prune).
