Installer Docker & Docker Compose
Installation de Docker et Docker Compose sur Debian/Ubuntu
Ce guide vous explique comment installer Docker et Docker Compose sur vos VPS RedHeberg fonctionnant sous Debian ou Ubuntu.
Prérequis
- VPS RedHeberg sous Debian 11/12/13 ou Ubuntu 20.04/22.04/24.10/25.04
- Accès root ou utilisateur avec privilèges sudo
- Connexion internet active
Docker est pré-installable en 1-clic lors de la commande de votre VPS RedHeberg depuis l'espace client.
1. Installation de Docker
Mise à jour du système
# Mise à jour des paquets
sudo apt update && sudo apt upgrade -y
# Installation des dépendances
sudo apt install -y ca-certificates curl gnupg lsb-release
Installation via le script officiel Docker
# Téléchargement et exécution du script officiel
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# Nettoyage
rm get-docker.sh
Configuration des permissions utilisateur
# Ajout de l'utilisateur actuel au groupe docker
sudo usermod -aG docker $USER
# Application des nouveaux groupes (ou redémarrez votre session)
newgrp docker
# Activation du service Docker au démarrage
sudo systemctl enable docker
sudo systemctl start docker
2. Vérification de l'installation
# Test de Docker avec le conteneur hello-world
docker run hello-world
# Vérification de la version
docker --version
docker info
Si le conteneur hello-world s'exécute correctement, Docker est opérationnel sur votre VPS RedHeberg !
3. Installation de Docker Compose v2
Docker Compose v2 est inclus par défaut avec les installations récentes de Docker :
# Vérification de Docker Compose
docker compose version
# Si Docker Compose n'est pas présent, installation manuelle
sudo apt update
sudo apt install -y docker-compose-plugin
4. Exemple pratique : Stack Nginx + MariaDB
Création du fichier docker-compose.yml
# Création du répertoire de projet
mkdir ~/docker-stack && cd ~/docker-stack
# Création du fichier docker-compose.yml
cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
nginx:
image: nginx:alpine
container_name: nginx-web
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- ./html:/usr/share/nginx/html:ro
depends_on:
- mariadb
networks:
- web-network
restart: unless-stopped
mariadb:
image: mariadb:10.11
container_name: mariadb-db
environment:
MYSQL_ROOT_PASSWORD: SecureRootPassword123
MYSQL_DATABASE: webapp
MYSQL_USER: webuser
MYSQL_PASSWORD: WebUserPassword456
volumes:
- mariadb-data:/var/lib/mysql
networks:
- web-network
restart: unless-stopped
volumes:
mariadb-data:
driver: local
networks:
web-network:
driver: bridge
EOF
Configuration Nginx basique
# Création de la configuration Nginx
cat > nginx.conf << 'EOF'
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
server {
listen 80;
server_name YOUR_SERVER_IP localhost;
root /usr/share/nginx/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
location /db-status {
return 200 "Database: MariaDB running\n";
add_header Content-Type text/plain;
}
}
}
EOF
# Création d'une page de test
mkdir html
cat > html/index.html << 'EOF'
<!DOCTYPE html>
<html>
<head>
<title>VPS RedHeberg - Docker Stack</title>
</head>
<body>
<h1>Stack Docker opérationnelle !</h1>
<p>Nginx + MariaDB sur VPS RedHeberg</p>
<p>IP du serveur : YOUR_SERVER_IP</p>
</body>
</html>
EOF
5. Commandes essentielles Docker Compose
Démarrage de la stack
# Démarrage en arrière-plan
docker compose up -d
# Démarrage avec logs en temps réel
docker compose up
# Reconstruction des images avant démarrage
docker compose up --build -d
Gestion des conteneurs
# Arrêt de la stack
docker compose down
# Arrêt avec suppression des volumes
docker compose down -v
# Redémarrage d'un service spécifique
docker compose restart nginx
# Mise à l'échelle d'un service
docker compose up -d --scale nginx=2
Surveillance et logs
# Affichage des conteneurs actifs
docker compose ps
# Logs de tous les services
docker compose logs
# Logs d'un service spécifique avec suivi
docker compose logs -f mariadb
# Logs avec timestamps
docker compose logs -t nginx
Maintenance
# Mise à jour des images
docker compose pull
docker compose up -d
# Nettoyage des ressources inutilisées
docker system prune -f
# Nettoyage complet (attention aux données)
docker system prune -a --volumes -f
6. Sécurisation
Configuration du pare-feu
# Configuration UFW (si installé)
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw --force enable
Changez toujours les mots de passe par défaut dans vos fichiers docker-compose.yml avant la mise en production.
Surveillance des ressources
# Utilisation des ressources par conteneur
docker stats
# Inspection détaillée d'un conteneur
docker inspect nginx-web
Conclusion
Docker est maintenant opérationnel sur votre VPS RedHeberg ! Cette installation vous permet de déployer facilement des applications containerisées avec la protection Anti-DDoS RedHeberg + Netrix et les performances des SSD NVMe Samsung 990 EVO Plus.
En cas de difficulté, contactez le support via ticket ou rejoignez le Discord RedHeberg.