Purger les données Docker en utilisant des filtres
En plus de supprimer toutes les données inutilisées, docker system prune
vous permet d'utiliser des filtres pour supprimer sélectivement des objets Docker. Cela vous donne un contrôle plus précis sur ce qui est purgé.
Les filtres peuvent être appliqués à différents types d'objets. Pour docker system prune
, vous pouvez filtrer en fonction de critères tels que l'âge des objets.
Créons quelques autres objets Docker pour démontrer le filtrage. Nous allons exécuter quelques conteneurs, puis les arrêter.
Exécutons le premier conteneur :
docker run -d --name oldcontainer ubuntu sleep 10
Ce conteneur s'exécutera pendant 10 secondes, puis se terminera.
Exécutons le deuxième conteneur :
docker run -d --name newcontainer ubuntu sleep 20
Ce conteneur s'exécutera pendant 20 secondes, puis se terminera.
Attendez que les deux conteneurs se terminent. Vous pouvez vérifier leur statut avec docker ps -a
.
docker ps -a
Vous devriez voir à la fois oldcontainer
et newcontainer
avec le statut "Exited".
Maintenant, utilisons un filtre pour supprimer uniquement les objets qui ont plus d'un certain temps. Nous pouvons utiliser le filtre until
avec une durée. Par exemple, pour supprimer les objets âgés de plus de 5 secondes, vous pouvez utiliser until=5s
.
Essayons de purger les objets âgés de plus de 15 secondes. Cela devrait supprimer oldcontainer
mais conserver newcontainer
(en supposant que vous avez attendu suffisamment longtemps pour que oldcontainer
se termine, mais pas newcontainer
).
docker system prune -f --filter "until=15s"
Observez la sortie. Elle devrait indiquer que oldcontainer
a été supprimé, mais newcontainer
devrait rester.
Vérifions les conteneurs :
docker ps -a
Vous devriez voir newcontainer
répertorié, mais oldcontainer
devrait avoir disparu.
Maintenant, purgeons à nouveau, cette fois en supprimant les objets âgés de plus de 30 secondes. Cela devrait également supprimer newcontainer
.
docker system prune -f --filter "until=30s"
Observez la sortie. Elle devrait indiquer que newcontainer
a été supprimé.
Vérifions à nouveau les conteneurs :
docker ps -a
Aucun conteneur ne devrait être répertorié.
Les filtres offrent un moyen puissant de personnaliser le processus de purge. Vous pouvez utiliser différentes clés de filtre en fonction du type d'objet que vous purgez (conteneurs, images, volumes, réseaux). Le filtre until
est couramment utilisé pour nettoyer les objets qui n'ont pas été utilisés pendant une durée spécifique.