Watchtower führt cleanup nicht aus
Wenn Watchtower trotz aktivierter Option WATCHTOWER_CLEANUP=yes nach einem Update die alten Images nicht löscht, kann das aus folgenden Gründen passieren, weil der Docker Socket readonly ist.

Lösung
Docker Socket nur read-only gemountet; zum löschen benötigt Watchtower rw auf den Docker Socket. Also einfach so umbauen im Docker Compose file
# ro
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
#rw
volumes:
- /var/run/docker.sock:/var/run/docker.sock