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
- Toujours utiliser
restart: unless-stoppedpour que vos conteneurs redémarrent automatiquement - Utilisez des volumes nommés pour persister les données
- Ne stockez jamais de secrets dans le Compose — utilisez un fichier
.env - 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.