nspawn is better and in the age of ubiquitous SSD the benefits of overlay filesystems, which docker makes easy, are questionable in these days of SSD filesystems and cheap memory
nostr:npub10npj3gydmv40m70ehemmal6vsdyfl7tewgvz043g54p0x23y0s8qzztl5h introduced me to nspawn and i wrote some deployments for his relay-tools using bash scripts
dockerfiles are really just slightly souped up specialised bash scripts so nspawn lets you throw out the nonsense and deploy without adding the complexity of the docker engine
don't need root to do nspawn containers - this is a major deficiency of docker