Aller au contenu principal

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.