thanks for sharing the Tip about docker system prune!
I'd like to add, that while docker system prune -a will cleanup unused containers, networks and images, it'll not by default touch the volume which reside in /var/lib/docker/volumes. These volumes are created on various occasions, for example when caching artifacts between builds.
I recommend considering either "docker system prune -a -f --volumes" (downside is that caches have to be recreated) or add an additional "docker volume prune" on a different shedule (on our environment, docker system prune -a is executed every night, while docker volume prune is executed only on weekends in order to have the caches available over the week).
Just my 2 cents ... ;-)