Installer Docker & Docker Compose
Ce guide vous explique comment installer Docker et Docker Compose sur votre VPS Linux.
Qu'est-ce que Docker ?​
Docker permet de créer des conteneurs isolés pour vos applications. Chaque conteneur embarque tout ce dont l'application a besoin pour fonctionner.
Installation de Docker​
Sur Ubuntu/Debian​
# Mettre Ă jour les paquets
sudo apt update
# Installer les dépendances
sudo apt install -y ca-certificates curl gnupg lsb-release
# Ajouter la clé GPG officielle de Docker
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Ajouter le dépôt Docker
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Installer Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Vérifier l'installation​
sudo docker --version
sudo docker compose version
Exécuter Docker sans sudo (optionnel)​
sudo usermod -aG docker $USER
# Déconnectez-vous et reconnectez-vous pour appliquer
Commandes Docker essentielles​
Gestion des conteneurs​
# Lister les conteneurs actifs
docker ps
# Lister tous les conteneurs
docker ps -a
# Démarrer un conteneur
docker start nom_conteneur
# ArrĂŞter un conteneur
docker stop nom_conteneur
# Supprimer un conteneur
docker rm nom_conteneur
# Voir les logs
docker logs nom_conteneur
docker logs -f nom_conteneur # En temps réel
Gestion des images​
# Lister les images
docker images
# Télécharger une image
docker pull nginx
# Supprimer une image
docker rmi nginx
Docker Compose​
Docker Compose permet de gérer plusieurs conteneurs avec un fichier YAML.
Exemple : Serveur web avec base de données​
Créez un fichier docker-compose.yml :
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html
restart: unless-stopped
db:
image: mariadb:latest
environment:
MYSQL_ROOT_PASSWORD: votre_mot_de_passe
MYSQL_DATABASE: ma_base
volumes:
- db_data:/var/lib/mysql
restart: unless-stopped
volumes:
db_data:
Commandes Docker Compose​
# Démarrer les services (en arrière-plan)
docker compose up -d
# ArrĂŞter les services
docker compose down
# Voir les logs
docker compose logs -f
# Reconstruire les images
docker compose build
# Redémarrer un service
docker compose restart web
Exemples pratiques​
Déployer Portainer (interface web Docker)​
docker volume create portainer_data
docker run -d \
-p 9000:9000 \
--name portainer \
--restart=unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce
Accédez ensuite à http://VOTRE_IP:9000
Déployer un serveur Minecraft​
version: '3.8'
services:
minecraft:
image: itzg/minecraft-server
ports:
- "25565:25565"
environment:
EULA: "TRUE"
TYPE: "PAPER"
MEMORY: "2G"
volumes:
- ./minecraft-data:/data
restart: unless-stopped
Nettoyage​
# Supprimer les conteneurs arrêtés
docker container prune
# Supprimer les images inutilisées
docker image prune
# Supprimer les volumes inutilisés
docker volume prune
# Tout nettoyer (attention !)
docker system prune -a
Conseil
Utilisez docker compose down -v pour supprimer également les volumes lors de l'arrêt, utile pour repartir de zéro.