Commencer avec Docker sur un VPS
Écrit par l'équipe ApexVPS • Dernière mise à jour : juillet 2026 • Lecture de 8 min
Exécuter Docker sur un VPS est le moyen le plus rapide de passer d'un serveur Ubuntu vide à une application web, une base de données ou un service auto-hébergé en quelques minutes. Au lieu de batailler avec les paquets système et les dépendances conflictuelles, vous tirez une image préconstruite et démarrez un conteneur. Ce guide pour débutants vous explique comment installer Docker et Docker Compose sur Ubuntu ou Debian, les concepts de base dont vous avez besoin, le lancement de votre premier conteneur, la persistance des données avec les volumes, et quelques bases de sécurité pour éviter les pièges.
Pourquoi exécuter Docker sur un VPS ?
Un serveur privé virtuel vous donne un accès root complet et des ressources dédiées, ce qui est exactement ce que veulent les conteneurs. Avec Docker installé, vous pouvez exécuter de nombreux services isolés côte à côte sans qu'ils se marchent dessus. Chaque conteneur embarque ses propres bibliothèques, donc une application Node, une base de données Postgres et un reverse proxy peuvent coexister proprement sur une seule machine. Si votre objectif est d'auto-héberger des applications sur un VPS — pensez à un cloud personnel, un wiki ou un serveur multimédia — Docker maintient chaque service bien rangé et reproductible.
Les conteneurs sont également portables. Le même fichier Compose qui fonctionne sur votre ordinateur portable fonctionne sur le serveur, ce qui élimine le problème classique "ça marche chez moi". Reconstruire un service après une erreur prend des secondes plutôt qu'un après-midi à réinstaller des paquets.
Concepts de base en langage simple
Avant de toucher à la ligne de commande, il est utile de connaître quatre éléments de base :
- Image — un modèle en lecture seule qui contient une application et tout ce dont elle a besoin pour fonctionner. Vous téléchargez les images depuis un registre tel que Docker Hub. Considérez-la comme une capture instantanée ou une classe.
- Conteneur — une instance d'exécution d'une image. Vous pouvez démarrer, arrêter et supprimer librement les conteneurs. De nombreux conteneurs peuvent provenir de la même image, comme des objets créés à partir d'une classe.
- Volume — un stockage persistant qui vit en dehors de la couche inscriptible d'un conteneur. Les volumes sont ce qui permet de garder les bases de données et les fichiers téléchargés en sécurité lorsqu'un conteneur est remplacé.
- Réseau — un réseau virtuel qui permet aux conteneurs de communiquer entre eux par leur nom. Docker en crée un automatiquement pour chaque projet Compose, afin que votre application puisse atteindre sa base de données via un nom d'hôte convivial.
Étape 1 : Installer Docker sur Ubuntu ou Debian
La méthode la plus simple et officiellement prise en charge pour installer Docker Engine est le script de commodité. Connectez-vous à votre serveur via SSH et exécutez :
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Cela installe Docker Engine ainsi que le plugin Compose. Une fois terminé, vérifiez les versions :
docker --version
docker compose version
Par défaut, Docker nécessite sudo. Pour l'exécuter en tant qu'utilisateur normal, ajoutez-vous au groupe docker, puis déconnectez-vous et reconnectez-vous pour que le changement soit pris en compte :
sudo usermod -aG docker $USER
Docker démarre également au démarrage sur la plupart des systèmes. Si vous devez l'activer manuellement :
sudo systemctl enable --now docker
Vous préférez la méthode du référentiel de paquets ou souhaitez plus de détails pour votre distribution exacte ? La documentation officielle d'installation de Docker couvre toutes les options. Le script de commodité ci-dessus est idéal pour un VPS fraîchement installé.
Étape 2 : Exécuter votre premier conteneur
Testez l'installation avec l'image classique hello-world :
docker run hello-world
Docker extrait l'image, l'exécute une fois et affiche un message de confirmation. Exécutons maintenant quelque chose que vous pouvez réellement voir. Cette commande démarre un serveur web Nginx en arrière-plan et mappe le port 8080 de l'hôte au port 80 du conteneur :
docker run -d -p 8080:80 --name web nginx
Ouvrez http://your-server-ip:8080 dans un navigateur et vous devriez voir la page d'accueil de Nginx. Quelques options utiles :
-dexécute le conteneur en arrière-plan (mode détaché).-p 8080:80publie un port sous la formehost:container.--name webdonne un nom mémorisable au conteneur.
Vérifiez ce qui s'exécute, puis arrêtez et supprimez le conteneur quand vous avez terminé :
docker ps
docker stop web
docker rm web
Une poignée de commandes suffit pour le travail quotidien. docker images liste les images que vous avez tirées, docker logs web affiche les journaux d'un conteneur pour le dépannage, et docker exec -it web bash ouvre un shell dans un conteneur en cours d'exécution pour que vous puissiez explorer. Apprendre ces cinq ou six commandes suffit pour gérer un petit serveur en toute confiance, et vous pourrez consulter le reste selon vos besoins.
Étape 3 : Utiliser Docker Compose pour les applications multi-conteneurs
Taper de longues commandes docker run devient vite pénible. Docker Compose vous permet de décrire toute votre pile dans un seul fichier et de la démarrer avec une seule commande. Créez un fichier nommé compose.yaml :
services:
web:
image: nginx:latest
ports:
- "8080:80"
volumes:
- web-data:/usr/share/nginx/html
restart: unless-stopped
volumes:
web-data:
Depuis le même répertoire, démarrez tout en arrière-plan :
docker compose up -d
Compose crée le réseau, le volume nommé et le conteneur pour vous. Commandes utiles :
docker compose ps
docker compose logs -f
docker compose down
La politique restart: unless-stopped signifie que le service redémarre automatiquement après un redémarrage ou un crash — pratique pour un serveur que vous ne surveillez pas 24h/24.
Étape 4 : Persister les données avec des volumes
C'est la partie que les débutants comprennent souvent mal. Tout ce qui est écrit dans le système de fichiers d'un conteneur disparaît lorsque ce conteneur est supprimé ou recréé. Pour conserver les données, placez-les dans un volume. Il existe deux approches courantes :
- Volumes nommés — gérés par Docker, idéaux pour les bases de données. L'exemple Compose ci-dessus en utilise un appelé
web-data. - Liens de montage — mappent un dossier de l'hôte directement dans le conteneur, par exemple
./config:/etc/app. Parfaits pour les fichiers de configuration que vous souhaitez modifier à la main.
Inspectez et gérez les volumes depuis la ligne de commande :
docker volume ls
docker volume inspect web-data
Tant que vos chemins importants pointent vers un volume, vous pouvez supprimer et reconstruire des conteneurs toute la journée sans perdre un seul octet. Sauvegardez le répertoire du volume dans le cadre de vos sauvegardes serveur.
Étape 5 : Mettre à jour les images et les conteneurs
Les images de conteneurs reçoivent des mises à jour de sécurité et de fonctionnalités comme tout logiciel. Mettre à jour une pile Compose est une routine en deux étapes : tirez les nouvelles images, puis recréez les conteneurs.
docker compose pull
docker compose up -d
Comme vos données vivent dans des volumes, la recréation est sûre. Avec le temps, les images inutilisées s'accumulent et occupent de l'espace disque. Nettoyez-les de temps en temps :
docker image prune
Épinglez des versions spécifiques (par exemple postgres:16 au lieu de latest) lorsque vous voulez des mises à jour prévisibles et reproductibles plutôt que des surprises.
Sécurité Docker de base pour les débutants
Les conteneurs sont pratiques, mais ils ne constituent pas une frontière de sécurité magique. Quelques habitudes vous éviteront des ennuis :
- Exécutez uniquement des images de confiance. Privilégiez les images officielles ou les éditeurs connus. Ne lancez pas une image aléatoire en root simplement parce qu'un tutoriel vous l'a dit — une image non fiable exécute du code sur votre serveur.
- Supprimez root dans les conteneurs. De nombreuses images officielles prennent en charge un utilisateur non-root, ou vous pouvez en définir un avec l'instruction
USERdans un Dockerfile. Exécuter en tant qu'utilisateur limité réduit l'impact en cas de compromission. - Ne publiez que les ports nécessaires. Chaque drapeau
-pouvre une porte sur Internet. Gardez les bases de données sur le réseau Docker interne et exposez uniquement votre interface web. - Maintenez l'hôte à jour. La sécurité Docker commence par un serveur sécurisé. Exécutez
sudo apt update && sudo apt upgraderégulièrement et verrouillez SSH.
Avant d'exposer quoi que ce soit publiquement, parcourez notre liste de contrôle complémentaire sur la façon de sécuriser votre VPS dans les 10 premières minutes — elle couvre les clés SSH, un pare-feu et les mises à jour automatiques qui se combinent parfaitement avec un hôte Docker.
Choisir un VPS prêt pour Docker
Docker fonctionne sur du matériel modeste, mais les ressources dédiées font une vraie différence une fois que vous empilez plusieurs conteneurs. L'hébergement mutualisé et surventé signifie qu'un voisin bruyant peut saturer votre base de données au pire moment. ApexVPS vous offre des vCPU véritablement dédiés, un stockage NVMe SSD et un accès root complet, afin que vos conteneurs bénéficient de la performance pour laquelle vous avez payé. Chaque plan prend en charge Ubuntu, Debian et d'autres distributions populaires, et vous pouvez ajouter votre clé SSH lors de l'inscription.
Le paiement est exclusivement en cryptomonnaie via OxaPay, acceptant Bitcoin, Ethereum, USDT et plus de 30 cryptomonnaies — pas de carte de crédit, pas de compte bancaire et aucune vérification KYC. Vous fournissez un e-mail pour recevoir les détails d'accès, et c'est tout. Comparez les spécifications et les régions sur la page de tarification ApexVPS pour trouver un plan adapté à votre charge de travail de conteneurs.
Questions fréquemment posées
Ai-je besoin de beaucoup de RAM pour exécuter Docker sur un VPS ?
Non. Docker lui-même est léger et ajoute peu de surcharge. Un ou deux conteneurs fonctionnent confortablement avec 2 Go de RAM, tandis que 4 Go ou plus offre de la marge pour les bases de données et plusieurs services à la fois.
Est-ce docker-compose ou docker compose ?
Sur une installation moderne, Compose est fourni comme plugin, donc la commande est docker compose avec un espace. L'ancien binaire autonome docker-compose fonctionne toujours mais est progressivement abandonné — utilisez la version plugin sur une nouvelle installation.
Où mes données sont-elles stockées lorsqu'un conteneur est supprimé ?
Tout ce qui est écrit à l'intérieur du conteneur est perdu lors de la suppression. Stockez les données importantes dans un volume nommé ou un bind mount pour qu'elles survivent à la recréation du conteneur. C'est ainsi que les bases de données et les téléchargements restent en sécurité.
Puis-je payer un VPS prêt pour Docker avec une cryptomonnaie ?
Oui. Le paiement ApexVPS est exclusivement en cryptomonnaie via OxaPay et accepte Bitcoin, Ethereum, USDT et plus de 30 pièces. L'inscription ne nécessite qu'un e-mail, sans carte de crédit ni vérification d'identité.