Aller au contenu principal

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
info

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
Succès d'installation

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
Sécurité

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.

Support RedHeberg

En cas de difficulté, contactez le support via ticket ou rejoignez le Discord RedHeberg.