When I use a Docker container on a HPC cluster's login machine using Singularity, it works as expected and I can access the container's /home:
singularity exec docker://quay.io/comparative-genomics-toolkit/cactus:v2.7.1 ls /home
When I run the same command on the computing node, I have access to the node's /home instead of the container's one:
srun singularity exec docker://quay.io/comparative-genomics-toolkit/cactus:v2.7.1 ls /home
I tried with --no-home, --contain and --containall, it makes no difference.
Both machines have the same version of Singularity and the same singularity.conf file.
How can I get the container's /home on the cluster's node?
The
--no-mount hostfsoption was the only one that worked to prevent/homefrom being mounted. the problem is that it prevents everything from being mounted, so I had to manually bind the folders I needed.So the working command is
Maybe it is worth to note that my
$HOMEfolder wasn't in/home. It could explain why--no-homehad no effect. But it still doesn't explain why there is a difference between the login machine and the node machine.