I can't speak for everyone else, but I run about 6 different VMs solely to run different docker containers. They're split out by use case, so super critical stuff on one VM, *arr stuff on another, etc. I did this so my tinkering didn't take down Jellyfin and other services for my wife and kids.
Beyond that I also have two VMs for virtualized pihole running gravity sync on different hosts, and another I intend to use for virtualized opnsense.
Everything is managed via ansible with each docker project in its own forgejo repo.
Yeah I use different VMs to separate out the different containers into arbitrary groups I decided on.
I run my docker containers inside different Debian VMs that are on a couple different Proxmox hosts.