Avant d’agir
Mettre à jour Docker sans perdre ses données
Une application Docker est souvent composée de trois éléments différents. Les distinguer évite les suppressions accidentelles.
Diagnostic
Commencer par regarder, jamais par supprimer
Dans Docker Desktop, consultez Containers, Images, Volumes et les journaux du service concerné.
docker system dfCette commande indique l’espace occupé et la part potentiellement récupérable. « Reclaimable » ne signifie pas que tout peut être supprimé sans vérification.
docker stats --no-streamVous verrez notamment la mémoire et le processeur utilisés par chaque conteneur à cet instant.
Mises à jour
Récupérer les images puis recréer les services
Dans le dossier du projet Compose, exécutez ces commandes. Les volumes déclarés restent conservés.
- Sauvegardez les données importantes.
- Récupérez la nouvelle image avec
pull. - Demandez à Compose de recréer uniquement ce qui a changé.
- Ouvrez l’application et contrôlez ses logs.
docker compose pullpull télécharge la nouvelle image mais ne remplace pas encore le conteneur actif.
docker compose up -dup -d compare le projet avec le fichier Compose et recrée le service si son image ou sa configuration a changé.
Bonnes pratiques
Réduire les risques dès la configuration
:ro aux dossiers qui ne doivent pas être modifiés.Nettoyage contrôlé
Supprimer individuellement depuis Docker Desktop
Arrêtez d’abord les conteneurs inutiles. Supprimez ensuite une image ou un volume seulement après avoir vérifié son nom et son projet.
docker system prune--volumes : un volume peut contenir une base de données ou des fichiers importants.Si une mise à jour échoue
Revenir à une situation compréhensible
- Ne supprimez pas les volumes.
- Consultez les logs du service dans Docker Desktop.
- Vérifiez le nom et la version de l’image dans
compose.yaml. - Si nécessaire, remettez l’ancienne version de l’image, puis relancez
docker compose up -d.
Validation
Quiz rapide
Fin de l’étape
Vous savez maintenir Docker avec prudence.
Le dernier module réunit tout le parcours dans un mini-projet vérifiable.