MES TUTOS
VEILLE
Chargement de la veille...
DEVOPS

Docker de A à Z : Comprendre, Installer et Maîtriser les Conteneurs

"Ça marche chez moi !" — Cette phrase a hanté les SysAdmins pendant des décennies. Docker a résolu ce problème en isolant les applications et leurs dépendances dans des conteneurs légers. Ce guide détaillé vous apprendra non seulement à installer Docker, mais aussi à gérer le stockage, le réseau et le cycle de vie de vos conteneurs.

1. Architecture : Comprendre avant de taper

Avant de lancer des commandes, il faut comprendre le vocabulaire :


2. Installation Propre (La méthode officielle)

N'utilisez pas apt install docker.io (souvent périmé). Utilisez le script officiel pour obtenir la dernière version stable.

# 1. Téléchargement du script d'installation automatique
curl -fsSL https://get.docker.com -o get-docker.sh

# 2. Exécution du script
sudo sh get-docker.sh

L'étape critique : Le groupe Docker

Par défaut, le démon Docker tourne en root. Pour ne pas avoir à taper sudo devant chaque commande (ce qui est pénible et dangereux), ajoutez votre utilisateur au groupe dédié :

sudo usermod -aG docker $USER
Important : Pour que ce changement prenne effet, vous devez vous déconnecter et vous reconnecter à votre session SSH (ou taper newgrp docker).

3. Lancer son premier service (Nginx)

Lançons un serveur web. Nous allons décortiquer chaque paramètre, car c'est là que tout se joue.

docker run -d -p 8080:80 --name mon-site nginx:latest

Analyse de la commande :


4. La Persistance des données (Volumes)

C'est le concept le plus important. Les conteneurs sont éphémères. Si vous supprimez le conteneur, toutes les données à l'intérieur sont perdues.

Pour héberger un site web, on utilise un Bind Mount : on "projette" un dossier de notre VPS à l'intérieur du conteneur.

Exemple pratique : Héberger une page HTML perso

1. Créez un dossier et un fichier index.html sur votre VPS :

mkdir monsite
echo "<h1>Hello Docker</h1>" > monsite/index.html

2. Lancez le conteneur en liant ce dossier :

docker run -d -p 8081:80 \
  -v $(pwd)/monsite:/usr/share/nginx/html \
  --name site-perso nginx

Désormais, si vous modifiez le fichier index.html sur votre VPS, le changement est instantané sur le site. Si vous supprimez le conteneur, vos fichiers restent sur le VPS.


5. Administration au quotidien

Voici les commandes que j'utilise tous les jours en production :

Voir ce qui tourne

docker ps       # Liste les conteneurs actifs
docker ps -a    # Liste TOUS les conteneurs (même arrêtés)

Débugger (Logs)

Si un conteneur ne démarre pas, c'est la première commande à taper :

docker logs mon-site
docker logs -f mon-site  # Suit les logs en direct (comme tail -f)

Entrer dans un conteneur

Pour explorer les fichiers à l'intérieur du conteneur :

docker exec -it mon-site bash
# Ou 'sh' si bash n'est pas installé (ex: images Alpine)

Le grand nettoyage (Prune)

Docker consomme vite de l'espace disque. Cette commande magique supprime les conteneurs arrêtés, les réseaux inutilisés et les images orphelines.

docker system prune -a

Conclusion

Vous maîtrisez maintenant les bases du Runtime Docker. La prochaine étape logique est d'apprendre Docker Compose, qui permet de décrire toute une infrastructure (Serveur Web + Base de Données) dans un seul fichier texte.

← Retour à la bibliothèque