--force-rm seems to prevent leaving <none>:<none> images when I use docker-compose to build images like so:
docker-compose build --force-rm
I don’t know why it works. The doc (https://docs.docker.com/compose/reference/build/) says --force-rm always remove intermediate containers but not images.