Menü Schließen

Docker CleanUp unused Disk

Docker Logo

Ich habe eine Testmaschine unter Debian mit Docker laufen. Die virtuelle Festplatte ist recht klein und so viel mir auf, dass zwei Verzeichnisse recht stark belegt sind:

  • 6,6G /var/lib/docker/aufs
  • 6,6G /var/lib/docker/aufs/diff

Und das obwohl ich alle Container mit <docker rm Container-Name> entfernt hatte. Das man den Inhalt nicht einfach löschen soll, erklärt diese Teil der Anleitung zum Konzept des Storage von Docker: https://docs.docker.com/storage/storagedriver/aufs-driver/#how-the-aufs-storage-driver-works

Nachfolgend eine kleiner Exkurs zum aufräumen:

# docker system df
 TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
 Images              5                   1                   6.49GB              6.49GB (99%)
 Containers          1                   0                   0B                  0B
 Local Volumes       46                  0                   231.3MB             231.3MB (100%)
 Build Cache         0                   0                   0B                  0B

Wenn man wissen möchte welche Images, inklusive der versteckten intermediate Images (-a), im Docker liegen, dann nützt dieser Befehler:

# docker image ls -a
REPOSITORY            TAG                 IMAGE ID       CREATED        SIZE
xxx/app                latest            146240497722   19 hours ago   3.87GB
xxx/base             2.0.20230409-0052   08afe7103ce8   12 days ago    3.27GB

Um ein bestimmte Image zu löschen kann man folgenden Befehl inklusive -f = Force verwenden:

# docker image rmi -f <IMAGE ID>

Um nun nicht mehr verwendet Images zu löschen, hier ca. 6GB, führe ich folgenden Befehl aus. Dieser entfernt alle Images die von keinem Container mehr verwendet werden:

Um sich laufende Docker Container anzeigen zu lassen einfach folgendes eingeben:

# docker ps
CONTAINER ID   IMAGE                 COMMAND        CREATED        STATUS        PORTS     NAMES
d6a7a0400096   xxx/app               "/sbin/boot"   19 hours ago   Up 19 hours             app
# docker image prune
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N]
Deleted Images:
untagged: ....
deleted: ....
deleted: ....
Total reclaimed space: 3.141GB

Ups immer noch 3GB belegt. Als letzte Möglichkeit ist dann ein harter Eingriff möglich, aber Achtung, dieser löscht alles Images, TMP, Containers etc. – nachfolgenden Befehl ggf. anpassen:

# /etc/init.d/docker stop
# rm -rf /var/lib/docker/{aufs,diff,overlay,containers,image,tmp}
# /etc/init.d/docker start

Thats it … Have Fun!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert