LibraHostDocumentation

Documentation

Guides complets pour tous nos services d'hébergement

🐳 Installer Docker sur un VPS#

Apprenez à installer et configurer Docker et Docker Compose sur votre VPS pour déployer vos applications en conteneurs de manière simple et efficace.

🎯 Objectifs#

  • 🐳 Installer Docker Engine sur Ubuntu/Debian
  • 📦 Installer Docker Compose
  • 🛠️ Maîtriser les commandes essentielles
  • 🌐 Comprendre les réseaux et volumes
  • 🔧 Résoudre les problèmes courants

🧰 Prérequis#

  • VPS sous Ubuntu 20.04+ ou Debian 11+
  • Accès root ou sudo
  • Connexion SSH active
  • Au moins 2 GB de RAM recommandé
  • 10 GB d'espace disque libre minimum

1️⃣ Préparation du système#

📦 Mise à jour et nettoyage#

# Mise à jour complète du système sudo apt update && sudo apt upgrade -y # Suppression des anciennes versions Docker (si présentes) for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

2️⃣ Installation de Docker#

📥 Installation avec le script officiel#

# Téléchargement du script d'installation officiel curl -fsSL https://get.docker.com -o get-docker.sh # Exécution du script d'installation sh get-docker.sh # Vérification de l'installation sudo systemctl status docker

✅ Test de l'installation#

# Test avec un conteneur Hello World sudo docker run hello-world # Vérification de la version sudo docker --version sudo docker compose version

👥 Configuration des utilisateurs#

# Ajout de votre utilisateur au groupe Docker (évite sudo) sudo usermod -aG docker $USER # Application des changements (déconnexion/reconnexion ou) newgrp docker # Test sans sudo docker run hello-world

3️⃣ Installation et utilisation de Docker Compose#

📦 Vérification de Docker Compose#

Docker Compose est maintenant inclus comme plugin :

# Vérification de l'installation docker compose version # Aide Docker Compose docker compose --help

🚀 Premier test pratique#

Testons Docker avec un serveur web simple :

# Lancement d'un serveur Nginx docker run -d --name mon-nginx -p 8080:80 nginx # Vérification que le conteneur fonctionne docker ps # Test dans le navigateur : http://votre-ip:8080 # Vous devriez voir la page d'accueil Nginx # Arrêt et suppression du conteneur docker stop mon-nginx docker rm mon-nginx

📝 Exemple simple avec Docker Compose#

Créons un fichier docker-compose.yml basique :

# Création d'un répertoire de test mkdir ~/test-docker && cd ~/test-docker # Création du fichier docker-compose.yml cat > docker-compose.yml << 'EOF' version: "3.8" services: web: image: nginx ports: - "8080:80" EOF # Lancement avec Docker Compose docker compose up -d # Vérification docker compose ps # Arrêt et nettoyage docker compose down

4️⃣ Commandes Docker essentielles#

📦 Gestion des conteneurs#

# Lister les conteneurs actifs docker ps # Lister tous les conteneurs (actifs et arrêtés) docker ps -a # Démarrer un conteneur docker start nom_conteneur # Arrêter un conteneur docker stop nom_conteneur # Redémarrer un conteneur docker restart nom_conteneur # Supprimer un conteneur docker rm nom_conteneur # Supprimer tous les conteneurs arrêtés docker container prune

🖼️ Gestion des images#

# Lister les images docker images # Télécharger une image docker pull nginx:latest # Supprimer une image docker rmi nginx:latest # Supprimer les images non utilisées docker image prune

📊 Surveillance et logs#

# Logs d'un conteneur docker logs nom_conteneur # Logs en temps réel docker logs -f nom_conteneur # Statistiques des conteneurs docker stats # Informations système Docker docker system info # Espace disque utilisé docker system df

🔧 Accès aux conteneurs#

# Exécuter une commande dans un conteneur docker exec -it nom_conteneur bash # Copier des fichiers vers/depuis un conteneur docker cp fichier.txt nom_conteneur:/path/to/destination docker cp nom_conteneur:/path/to/file.txt ./

🐙 Commandes Docker Compose#

# Démarrer les services docker compose up -d # Voir l'état des services docker compose ps # Voir les logs docker compose logs # Arrêter les services docker compose down # Reconstruire et démarrer docker compose up --build -d

5️⃣ Réseau et volumes Docker#

🌐 Gestion des réseaux#

# Lister les réseaux docker network ls # Créer un réseau docker network create mon-reseau # Connecter un conteneur à un réseau docker network connect mon-reseau nom_conteneur # Inspecter un réseau docker network inspect mon-reseau # Supprimer un réseau docker network rm mon-reseau

💾 Gestion des volumes#

# Lister les volumes docker volume ls # Créer un volume docker volume create mon-volume # Inspecter un volume docker volume inspect mon-volume # Supprimer un volume docker volume rm mon-volume # Supprimer les volumes non utilisés docker volume prune

6️⃣ Dépannage#

🔍 Problèmes courants#

Erreur : "Cannot connect to Docker daemon"

# Vérification du service sudo systemctl status docker # Redémarrage si nécessaire sudo systemctl restart docker # Vérification des permissions groups $USER

Erreur : "No space left on device"

# Vérification de l'espace disque df -h # Nettoyage Docker docker system prune -a # Vérification des logs volumineux sudo du -sh /var/lib/docker/containers/*/

Conteneur qui ne démarre pas

# Vérification des logs docker logs nom_conteneur # Vérification de la configuration docker inspect nom_conteneur # Test en mode interactif docker run -it --entrypoint /bin/bash nom_image

📋 Logs et diagnostics#

# Logs du daemon Docker sudo journalctl -fu docker.service # Informations détaillées du système docker system info # Événements Docker en temps réel docker events # Inspection détaillée d'un conteneur docker inspect nom_conteneur

✅ Résumé de l'installation#

Votre installation Docker est maintenant complète avec :

  • 🐳 Docker Engine + Docker Compose installés et opérationnels
  • 🚀 Premiers tests réalisés avec succès
  • 🔧 Commandes essentielles maîtrisées
  • 🌐 Gestion des réseaux et volumes configurée