virli/tutorial/docker-basis/cleaning.md
2019-10-16 03:55:32 +02:00

75 lines
2.0 KiB
Markdown

\newpage
Faire le ménage
===============
Au fur et à mesure de nos tests, la taille utilisée par les données de Docker
peut devenir conséquente et son interface peut commencer à déborder
d'informations dépréciées.
Dans la mesure du possible, Docker essaie de ne pas encombrer inutilement votre
disque dur avec les vieilles images qui ne sont plus utilisées. Il ne va
cependant jamais supprimer une image encore liée à un conteneur ; il ne
supprimera pas non plus les conteneurs qui n'auront pas été démarrés avec
l'option `--rm`.
## Conteneurs
Nous pouvons afficher l'ensemble des conteneurs, quelque soit leur état (en
cours d'exécution, arrêtés,\ ...) avec la commande suivante :
<div lang="en-US">
```
42sh$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS NAMES
552d71619723 hello-world "/hello" 4 days ago Exited (0) 4 days ago dreamy_gates
0e8bbff6d500 debian "/bin/bash" 2 weeks ago Exited (0) 2 weeks ago cranky_jones
```
</div>
Il y a de fortes chances pour que vous n'ayez plus besoin de ces vieux
conteneurs. Pour les supprimer, utilisez la commande :
<div lang="en-US">
```bash
docker container rm 0e8bbff6d500 552d71619723
```
</div>
ou encore :
<div lang="en-US">
```bash
docker container rm cranky_jones dreamy_gates
```
</div>
## Images
Les vieilles images qui n'ont plus de références sur elle (ni tag, ni conteneur
lié) sont automatiquement supprimées. Vous n'avez généralement pas à vous
occuper de faire du nettoyage dans les images. Néanmoins, vous pouvez les gérer
de la même manière que les conteneurs, avec les sous-commandes `docker image`.
## `prune`
Dans la plupart des menus permettant de gérer les objets Docker, vous trouverez
une commande `prune` qui supprimera les objets inutilisés :
<div lang="en-US">
```bash
docker container prune
```
</div>
On aura tendance à vouloir supprimer tous les objets inutiles d'un seul coup, via :
<div lang="en-US">
```bash
docker system prune
```
</div>