Installer Docker sur un VPS Linux KVM en 5 minutes

Installer Docker sur VPS Linux est devenu une étape incontournable pour tout administrateur système ou développeur souhaitant déployer des applications conteneurisées dans un environnement de production robuste et isolé. Ce tutoriel détaille l'ensemble du processus d'installation, de configuration et de sécurisation de Docker sur un serveur virtuel privé tournant sous Linux.
Prérequis système pour installer Docker VPS Linux
Avant d'installer Docker sur VPS Linux, il convient de vérifier que votre serveur répond aux exigences techniques minimales. Docker nécessite un kernel Linux 64 bits en version 3.10 ou supérieure, condition remplie par toutes les distributions récentes proposées sur VPS Linux OmegaCloud, notamment Debian 11/12, Ubuntu 20.04/22.04 LTS, Rocky Linux 8/9 ou AlmaLinux 8/9. Pour isoler des services dans des conteneurs système plutôt qu'applicatifs, un VPS Proxmox propose LXC et son interface de supervision.
Côté ressources matérielles, Docker fonctionne avec un minimum de 512 Mo de RAM, mais il est recommandé de disposer d'au moins 2 Go pour un usage professionnel avec plusieurs conteneurs actifs. Le stockage NVMe offre des performances nettement supérieures pour les volumes Docker et les layers d'images, réduisant considérablement les temps de build et de démarrage des conteneurs.
Connectez-vous en SSH à votre serveur avec les privilèges root ou sudo. Mettez à jour les paquets système avant toute installation :
# Pour Debian/Ubuntu
apt update && apt upgrade -y
# Pour Rocky/AlmaLinux
dnf update -y

Installation de Docker Engine sur distributions Debian et Ubuntu
La méthode recommandée pour installer Docker VPS Linux sur Debian ou Ubuntu consiste à utiliser le dépôt officiel Docker, garantissant l'accès aux dernières versions stables et aux correctifs de sécurité. Commencez par installer les dépendances requises :
apt install -y \
ca-certificates \
curl \
gnupg \
lsb-release
Ajoutez ensuite la clé GPG officielle de Docker :
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg
Configurez le dépôt Docker stable. Pour Ubuntu, remplacez debian par ubuntu dans la commande suivante :
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
Installez Docker Engine, containerd et Docker Compose :
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Vérifiez que Docker est correctement installé et fonctionnel :
docker --version
systemctl status docker
Testez l'installation avec le conteneur hello-world :
docker run hello-world
Si le message de confirmation s'affiche, votre installation Docker sur VPS Linux est opérationnelle.
Installation sur distributions Red Hat Enterprise Linux (Rocky/AlmaLinux)
Pour installer Docker sur VPS Linux tournant sous Rocky Linux ou AlmaLinux, la procédure diffère légèrement. Ces distributions utilisent DNF comme gestionnaire de paquets et nécessitent l'ajout du dépôt Docker adapté.
Installez d'abord les utilitaires nécessaires :
dnf install -y yum-utils device-mapper-persistent-data lvm2
Ajoutez le dépôt Docker officiel pour CentOS (compatible Rocky/Alma) :
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Installez Docker Engine et ses composants :
dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Activez et démarrez le service Docker :
systemctl enable --now docker
Le flag --now démarre immédiatement le service tout en l'activant au démarrage. Vérifiez le statut :
systemctl is-active docker
docker info

Configuration de la sécurité Docker sur serveur de production
Après avoir réussi à installer Docker VPS Linux, la sécurisation de l'environnement constitue une priorité absolue. Par défaut, Docker requiert les privilèges root pour fonctionner, ce qui peut poser des risques de sécurité si plusieurs utilisateurs accèdent au serveur.
Créez un groupe docker et ajoutez-y les utilisateurs autorisés à exécuter des conteneurs sans sudo :
groupadd docker
usermod -aG docker votre_utilisateur
Déconnectez-vous et reconnectez-vous pour que les changements de groupe prennent effet. Attention : tout utilisateur membre du groupe docker dispose d'un accès équivalent root via l'escalade de privilèges Docker.
Limitation des ressources et isolation des conteneurs
Configurez les limites de ressources par défaut pour éviter qu'un conteneur monopolise CPU ou RAM. Éditez /etc/docker/daemon.json :
{
"default-ulimits": {
"nofile": {
"Name": "nofile",
"Hard": 64000,
"Soft": 64000
}
},
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"live-restore": true,
"userland-proxy": false
}
Cette configuration limite la taille des logs, active le mode live-restore (conteneurs survivent au redémarrage du daemon Docker) et désactive le proxy userland pour améliorer les performances réseau. Redémarrez Docker après modification :
systemctl restart docker
Sécurisation réseau et pare-feu
Docker manipule automatiquement les règles iptables/nftables pour gérer la connectivité des conteneurs. Configurez UFW ou firewalld en amont pour filtrer les accès externes. L'infrastructure OmegaCloud intègre une protection anti-DDoS transparente au niveau kernel qui protège tous les ports exposés, mais le filtrage applicatif reste de votre responsabilité.
# Configuration UFW basique
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
Pour exposer des ports de conteneurs spécifiques, utilisez ufw allow avec le port approprié avant de lancer vos conteneurs.
Scan de vulnérabilités et mises à jour
Intégrez Docker Scout ou Trivy pour scanner vos images à la recherche de CVE connues :
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock \
aquasec/trivy image votre_image:tag
Automatisez les mises à jour de vos images de base via des pipelines CI/CD. Le système d'intégrations OmegaCloud supporte les webhooks et peut déclencher des workflows de rebuild automatique.
Optimisation des performances Docker en environnement VPS
L'utilisation de Docker sur un VPS nécessite quelques optimisations spécifiques pour tirer le meilleur parti des ressources limitées tout en maintenant des performances élevées.
Choix du storage driver
Le driver de stockage overlay2 est recommandé pour la plupart des distributions modernes. Vérifiez le driver actif :
docker info | grep "Storage Driver"
Sur un VPS équipé de stockage NVMe, overlay2 offre d'excellentes performances en lecture/écriture pour les layers d'images et les volumes. Si votre système utilise un autre driver, modifiez /etc/docker/daemon.json :
{
"storage-driver": "overlay2"
}
Gestion mémoire et swap
Docker peut rapidement consommer la RAM disponible si les conteneurs ne sont pas limités. Définissez systématiquement des limites mémoire lors du lancement :
docker run -d --name mon_app \
--memory="512m" \
--memory-swap="1g" \
--cpus="1.0" \
nginx:alpine
Le flag --memory-swap définit la limite combinée RAM + swap. Pour désactiver complètement le swap pour un conteneur, utilisez --memory-swap avec la même valeur que --memory.
Nettoyage automatique des ressources
Les images inutilisées, conteneurs stoppés et volumes orphelins consomment rapidement de l'espace disque. Configurez un cron job de nettoyage hebdomadaire :
0 3 * * 0 /usr/bin/docker system prune -af --volumes
Cette commande supprime tous les conteneurs arrêtés, réseaux non utilisés, images sans tag et volumes orphelins. Le flag -a supprime également les images intermédiaires de build.

Monitoring et observabilité
Installez cAdvisor et Prometheus pour monitorer la consommation de ressources de vos conteneurs :
docker run -d \
--name=cadvisor \
--restart=always \
-p 8080:8080 \
-v /:/rootfs:ro \
-v /var/run:/var/run:ro \
-v /sys:/sys:ro \
-v /var/lib/docker/:/var/lib/docker:ro \
gcr.io/cadvisor/cadvisor:latest
Accédez aux métriques via l'interface web sur le port 8080. Le panel de gestion OmegaCloud offre déjà un monitoring temps réel au niveau hyperviseur (CPU, RAM, bande passante), complétant ainsi la visibilité au niveau conteneur.
Déploiement d'applications multi-conteneurs avec Docker Compose
Docker Compose simplifie considérablement le déploiement d'applications composées de plusieurs services interconnectés. Créez un fichier docker-compose.yml pour orchestrer vos conteneurs :
version: '3.8'
services:
web:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html:ro
restart: unless-stopped
app:
image: php:8.2-fpm-alpine
volumes:
- ./app:/var/www/html
restart: unless-stopped
db:
image: mariadb:10.11
environment:
MYSQL_ROOT_PASSWORD: votre_password_securise
MYSQL_DATABASE: app_db
volumes:
- db_data:/var/lib/mysql
restart: unless-stopped
volumes:
db_data:
Démarrez l'ensemble de la stack :
docker compose up -d
Pour mettre à jour les images et redéployer :
docker compose pull
docker compose up -d --remove-orphans
Cette approche déclarative facilite grandement la reproductibilité des environnements et s'intègre parfaitement dans des workflows CI/CD avec GitHub Actions ou GitLab CI, supportés nativement par le système d'intégrations OmegaCloud.
Conclusion
Installer Docker sur VPS Linux constitue une fondation solide pour le déploiement d'architectures conteneurisées modernes. En suivant ce tutoriel, vous disposez désormais d'un environnement Docker sécurisé, optimisé et prêt pour la production, capable d'héberger des applications complexes avec une isolation réseau et des performances optimales sur infrastructure NVMe.
FAQ
Quelle quantité de RAM faut-il prévoir pour faire tourner Docker en production ?
Pour un usage professionnel avec 5 à 10 conteneurs légers, prévoyez au minimum 4 Go de RAM. Docker Engine lui-même consomme environ 100-200 Mo, mais chaque conteneur ajoute sa propre empreinte mémoire. Ajoutez une marge de 20-30% pour le système d'exploitation. Les VPS avec 8 Go ou plus offrent une meilleure flexibilité pour les applications gourmandes en ressources comme les bases de données ou les services de cache Redis.
Docker fonctionne-t-il sur un VPS avec virtualisation OpenVZ ?
Non, Docker nécessite une virtualisation complète de type KVM, Xen ou VMware qui donne accès à un vrai kernel Linux. OpenVZ partage le kernel avec l'hôte et ne permet pas l'isolation nécessaire aux conteneurs Docker. Tous les VPS OmegaCloud utilisent la virtualisation KVM, garantissant la compatibilité totale avec Docker, LXC et autres technologies de conteneurisation.
Comment sauvegarder les volumes Docker avant une maintenance serveur ?
Utilisez docker run --rm -v nom_volume:/source -v $(pwd):/backup alpine tar czf /backup/volume-backup.tar.gz -C /source . pour créer une archive du volume. Pour restaurer, inversez l'opération avec tar xzf. Automatisez ces sauvegardes via cron et stockez les archives hors serveur. Le panel OmegaCloud permet également de créer des snapshots complets du VPS en un clic, incluant tous les volumes Docker, pour une restauration rapide en cas d'incident.
Prêt à mettre en pratique ce que vous venez de lire ?
Découvrir nos offres