← Retour au blog

Installer Docker sur VPS Linux et déployer ses applications en 2026

Docker simplifie radicalement le déploiement d'applications sur VPS. Installation, docker-compose, volumes, réseaux et Portainer : guide complet pour débuter.


Pourquoi Docker sur un VPS ?

Docker vous permet de packager votre application et toutes ses dépendances dans un container isolé. Résultat : le même container tourne identiquement en local, en staging et en production sur votre VPS. Plus de problème de dépendances, déploiements reproductibles, rollback en secondes.

Prérequis

  • VPS KVM (Docker ne fonctionne pas sur OpenVZ)
  • Ubuntu 22.04 ou 24.04 LTS
  • Minimum 2 Go de RAM
  • Utilisateur avec droits sudo

Étape 1 : Installer Docker Engine via le dépôt APT officiel

Docker déconseille explicitement son script de commodité (get.docker.com) pour la production. La méthode recommandée est le dépôt APT officiel :

apt update && apt install ca-certificates curl -y
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc

CODENAME=$(. /etc/os-release && echo $VERSION_CODENAME)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $CODENAME stable"   | tee /etc/apt/sources.list.d/docker.list

apt update
apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

Ajoutez votre utilisateur au groupe docker pour éviter sudo à chaque commande :

usermod -aG docker votrenom
newgrp docker

Vérifiez l'installation :

docker run hello-world

Étape 2 : Vérifier Docker Compose V2

Docker Compose V2 est inclus dans le paquet docker-compose-plugin installé ci-dessus :

docker compose version

Étape 3 : Votre premier docker-compose.yml

Exemple : déployer une application Node.js + PostgreSQL :

services:
  app:
    image: node:20-alpine
    working_dir: /app
    volumes:
      - ./app:/app
    command: node server.js
    ports:
      - "3000:3000"
    environment:
      DATABASE_URL: postgres://user:pass@db:5432/mydb
    depends_on:
      - db

  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: pass
      POSTGRES_DB: mydb
    volumes:
      - pgdata:/var/lib/postgresql/data

volumes:
  pgdata:
docker compose up -d

Commandes Docker essentielles

  • docker compose up -d : démarrer en arrière-plan
  • docker compose down : arrêter et supprimer les containers
  • docker compose logs -f nom_service : suivre les logs
  • docker compose pull && docker compose up -d : mettre à jour les images
  • docker system prune -f : nettoyer images et containers inutilisés
  • docker exec -it nom_container bash : accéder à un container en cours

Gérer les volumes et la persistence des données

Les données dans un container sont perdues à sa suppression. Toujours utiliser des volumes pour les données persistantes :

  • Named volumes : gérés par Docker, simples à sauvegarder (docker volume ls)
  • Bind mounts : dossier hôte monté dans le container, utile pour le développement

Installer Portainer pour une interface graphique

Portainer est une UI web pour gérer vos containers Docker :

docker volume create portainer_data
docker run -d -p 9000:9000   --name portainer --restart=always   -v /var/run/docker.sock:/var/run/docker.sock   -v portainer_data:/data   portainer/portainer-ce:latest

Accédez à http://votre_ip:9000 pour configurer le compte admin. Pensez à protéger ce port avec UFW ou un reverse proxy Nginx.

Bonnes pratiques de sécurité Docker

  • Ne jamais exposer le socket Docker (/var/run/docker.sock) à des containers non fiables
  • Toujours utiliser des images officielles ou auditées
  • Définir des limites de ressources par container (mem_limit, cpus)
  • Ne pas exécuter en root dans les containers quand c'est évitable
  • Scanner régulièrement vos images avec docker scout

Prêt à lancer votre serveur ? Déploiement en 60 secondes, protection anti-DDoS L3/L4 incluse, serveurs hébergés en France dans nos propres centres de données.

Commander un VPS KVM France →

À lire ensuite

GuideSécuriser son VPS Linux avec UFW et fail2ban en 20268 min de lecture →GuideMonitorer son VPS avec Netdata : installation et alertes en 20267 min de lecture →GuideSauvegarder son VPS : stratégies et outils en 20268 min de lecture →GuideConfigurer son VPS Ubuntu pour la première fois : guide 20269 min de lecture →