If I'm running another Linux distro that will be happy under the host kernel then I use LXD (or Incus) containers. Otherwise it's QEMU+KVM or occasionally Virtual Box.
They run a full distro rather than the minimalist that Docker containers use. You can also use them to run gui apps but that needs a bit more work to configure. I run Google Chrome sandboxed this way.