Thanks for the pointer, v, that was a great help.
It lead me to
https://singularity-admindoc.readthedocs.io/en/latest/admin_quickstart.html#prefix-in-special-places-localstatedir
where the use of --localstatedir is mentioned, and where it says:
In the case of cluster nodes, you will need to ensure the following
directories are created on all nodes, with root:root ownership and
0755 permissions:
${localstatedir}/singularity/mnt
${localstatedir}/singularity/mnt/container
${localstatedir}/singularity/mnt/final
${localstatedir}/singularity/mnt/overlay
${localstatedir}/singularity/mnt/session
Singularity will fail to execute without these directories. They are
normally created by the install make target; when using a local
directory for --localstatedir these will only be created on the node
make is run on.
So these directories do just all have to be added to the image for the
cluster nodes.
As it is /var would be in memory, since our nodes are nominally
diskless. However, the nodes do in fact have some small local scratch
space, which could also be used.
Is there any reason to prefer one variant over the other, perhaps in
terms of the type and amount of data which might be created?
Cheers,
Loris