Concepts cles
- Image — Template en lecture seule (ex: nginx:latest)
- Container — Instance en execution d'une image
- Volume — Stockage persistant
- Network — Reseau isole entre containers
Commandes essentielles
docker pull nginx # Telecharger une image
docker run -d -p 80:80 nginx # Lancer en arriere-plan
docker ps # Containers en cours
docker ps -a # Tous les containers
docker logs mon_container # Logs
docker exec -it mon_container bash # Shell dans le container
docker stop mon_container # Arreter
docker rm mon_container # Supprimer
Volumes et persistance
docker volume create mes_donnees
docker run -d -v mes_donnees:/data nginx
docker volume ls
Namespaces et cgroups
Les conteneurs utilisent les namespaces Linux pour l'isolation (PID, network, mount) et les cgroups pour limiter les ressources (CPU, memoire).
Bonne pratique : Ne jamais executer de containers en root. Utiliser des images minimales (alpine). Toujours definir des limites de ressources.