Aller au contenu
Se connecter
Retour au blog
Tutoriels · 879 vues

Docker sur VPS : guide complet de A à Z

Installez Docker, Docker Compose, et déployez vos premiers conteneurs sur votre VPS Virtmo. De l'installation à la mise en production.

Pourquoi Docker sur un VPS ?

Docker permet d'isoler vos applications dans des conteneurs légers, reproductibles et portables. Sur un VPS Virtmo, c'est la solution idéale pour :

  • Héberger plusieurs sites/apps sur un seul serveur
  • Faciliter les déploiements et les rollbacks
  • Garantir la cohérence entre développement et production

Installation de Docker

# Installer les dépendances
apt install ca-certificates curl gnupg -y

# Ajouter le dépôt officiel Docker
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list

# Installer Docker Engine
apt update
apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

# Vérifier l'installation
docker --version
docker compose version

Premier conteneur : Nginx

docker run -d --name web -p 80:80 nginx:alpine
curl http://localhost

Docker Compose : stack complète

Créez un fichier docker-compose.yml :

services:
  app:
    image: node:20-alpine
    working_dir: /app
    volumes:
      - ./app:/app
    command: npm start
    restart: unless-stopped

  nginx:
    image: nginx:alpine
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    depends_on:
      - app
    restart: unless-stopped

  db:
    image: mariadb:11
    environment:
      MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
      MYSQL_DATABASE: ${DB_NAME}
    volumes:
      - db_data:/var/lib/mysql
    restart: unless-stopped

volumes:
  db_data:

Lancez la stack :

docker compose up -d
docker compose ps
docker compose logs -f

Bonnes pratiques

  1. Toujours utiliser restart: unless-stopped pour que vos conteneurs redémarrent automatiquement
  2. Utilisez des volumes nommés pour persister les données
  3. Ne stockez jamais de secrets dans le Compose — utilisez un fichier .env
  4. Limitez les ressources avec deploy.resources.limits

Astuce : nos VPS KVM sont optimisés pour Docker grâce à la virtualisation complète et aux noyaux récents.

Tags : Docker conteneurs déploiement DevOps
Partager :