# Les bases Docker

# Commandes Docker - Guide de référence

## Gérer les conteneurs

- `docker ps` : voir les conteneurs actifs
- `docker ps -a` : voir tous les conteneurs (même arrêtés)
- `docker start nom_conteneur` : démarrer un conteneur
- `docker stop nom_conteneur` : arrêter un conteneur
- `docker restart nom_conteneur` : redémarrer un conteneur
- `docker rm nom_conteneur` : supprimer un conteneur (il doit être arrêté)

## Arrêter et supprimer en masse

- `docker stop $(docker ps -a -q)` : arrêter tous les conteneurs
- `docker rm $(docker ps -a -q)` : supprimer tous les conteneurs
- `docker rmi $(docker images -q)` : supprimer toutes les images
- `docker system prune -a --volumes` : nettoyer complètement (volumes, réseaux, cache) ⚠️ Supprime aussi les bases de données !

## Lancer des conteneurs

- `docker run nom_image` : créer et démarrer un nouveau conteneur
- `docker run -d nom_image` : lancer en arrière-plan
- `docker compose up -d` : démarrer tous les services définis dans docker-compose.yml

## Voir les logs

- `docker logs nom_conteneur` : afficher les logs
- `docker logs -f nom_conteneur` : suivre les logs en direct

## Gérer les images

- `docker images` : lister les images téléchargées
- `docker pull nom_image` : télécharger une image
- `docker rmi nom_image` : supprimer une image

## Accéder à un conteneur

- `docker exec -it nom_conteneur bash` : ouvrir un terminal dans le conteneur

## Nettoyer

- `docker system prune` : supprimer les conteneurs arrêtés, images inutilisées, etc.
- `docker system prune -a` : nettoyer + supprimer les images inutilisées
- `docker system prune -a --volumes` : nettoyer + supprimer volumes et tout le reste