Docker est devenu l'outil de référence pour déployer des applications dans des conteneurs légers, isolés et reproductibles. Que vous hébergiez un bot, une application Node.js, une base de données ou une pile complète, Docker simplifie radicalement la gestion de vos services sur un VPS. Ce guide vous montre comment installer Docker Engine et le plugin Docker Compose v2 depuis les dépôts officiels de Docker (et non ceux, souvent obsolètes, de Debian/Ubuntu) sur un serveur Debian 11/12 ou Ubuntu 20.04/22.04/24.04.
Installer les prérequis et la clé GPG officielle
Commencez par mettre à jour vos paquets puis installez les outils nécessaires pour ajouter un dépôt sécurisé. Ajoutez ensuite la clé GPG officielle de Docker pour authentifier les paquets téléchargés.
sudo apt updatesudo apt install -y ca-certificates curl gnupg # Créer le dossier des clés et ajouter la clé GPG officielle Dockersudo install -m 0755 -d /etc/apt/keyringscurl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpgsudo chmod a+r /etc/apt/keyrings/docker.gpgAjouter le dépôt officiel Docker
Déclarez le dépôt APT officiel de Docker. La commande détecte automatiquement l'architecture de votre processeur et le nom de code de votre distribution (bookworm, jammy, noble...).
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # Rafraîchir la liste des paquetssudo apt updateInstaller Docker Engine et Docker Compose
Installez le moteur Docker, son interface en ligne de commande, le runtime containerd ainsi que les plugins Buildx et Compose v2 (intégré directement à la commande docker).
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # Activer Docker au démarrage du serveursudo systemctl enable --now dockerVérifier l'installation
Lancez le conteneur de test officiel 'hello-world'. S'il s'exécute et affiche un message de bienvenue, votre installation est fonctionnelle. Vérifiez également la version de Docker Compose.
# Tester Dockersudo docker run hello-world # Vérifier les versions installéessudo docker versiondocker compose versionUtiliser Docker sans sudo (optionnel)
Par défaut, Docker nécessite les droits root. Pour exécuter les commandes 'docker' avec votre utilisateur courant sans taper 'sudo', ajoutez votre utilisateur au groupe 'docker'.
# Ajouter votre utilisateur au groupe dockersudo usermod -aG docker $USER # Appliquer le changement (ou déconnectez-vous puis reconnectez-vous)newgrp docker # Tester sans sudodocker run hello-worldLancer une pile avec Docker Compose
Docker Compose permet de décrire et lancer plusieurs conteneurs via un simple fichier YAML. Créez un fichier 'compose.yaml' minimal puis démarrez-le en arrière-plan.
mkdir ~/mon-app && cd ~/mon-appnano compose.yaml # Exemple de contenu (un serveur web Nginx) :# services:# web:# image: nginx:latest# ports:# - "8080:80"# restart: unless-stopped # Démarrer la pile en arrière-plandocker compose up -d # Voir les conteneurs actifsdocker compose psPour terminer
Docker et Docker Compose sont maintenant opérationnels sur votre VPS. Vous pouvez déployer n'importe quelle application conteneurisée en quelques secondes, isoler vos services et reproduire vos environnements à l'identique. C'est la base idéale pour héberger des applications modernes sur votre serveur UnioHost.
Problèmes fréquents
Quelle différence entre 'docker-compose' et 'docker compose' ?
'docker-compose' (avec tiret) est l'ancienne version v1 écrite en Python, désormais obsolète. 'docker compose' (avec espace) est la version v2 intégrée nativement à Docker via le plugin docker-compose-plugin. Utilisez toujours la v2.
Faut-il installer Docker depuis les dépôts de Debian/Ubuntu (docker.io) ?
Ce n'est pas recommandé pour un serveur de production. Le paquet 'docker.io' des dépôts de la distribution est souvent en retard de plusieurs versions. Le dépôt officiel de Docker garantit les dernières mises à jour de sécurité et fonctionnalités.
Comment libérer de l'espace disque pris par Docker ?
Utilisez 'docker system prune -a' pour supprimer les conteneurs arrêtés, les images inutilisées et les caches de build. Ajoutez '--volumes' pour supprimer aussi les volumes orphelins (attention, cela efface des données).
