It is possible to install the Singularity container system without root permissions and build and run containers without problems. Since Singularity is used often in HPC setting in which Spack is also often used, using Spack to install Singularity can be often the easiest way:

spack install singularityce~suid

The option ~suid means that the build process will not make a setuid executable. The main effect on modern Linux distributions of this option is that squashfs filesystems will be unpacked on disk rather than mounted in kernel.

Then for example use as:

spack load singularityce~suid
singularity pull  library://sylabsed/examples/lolcow
singularity exec lolcow_latest.sif cowsay moo