dockersingularity-containersquashfs

Enabling squashfs inside docker


I am trying to run singularity inside a docker container. However, I can't seem to figure out or understand how to get "squashfs" capabilities working for .simg singularity images.

I have seen a few discussion threads that indicate that this command:

cat /proc/filesystems|grep squashfs

Should return squashfs, but when I execute it inside my docker container I simply get a blank line. I have tried looking at "installing squashfs" guides, but they all seem to involve patching and upgrading kernels, which is a bit out of my depth.

Specifically, the error I'm running into with a .simg is the following:

singularity exec myimage.simg

ERROR  : Failed to mount squashfs image in (read only): No such file or directory
ABORT  : Retval = 255

I have also tried using "mount" to mount the .simg, but that gets me:

mount -o loop,offset=31 myimage.simg /mnt

mount: /mnt: unknown filesystem type 'squashfs'.

I feel like I'm missing something obvious. How do I add squashfs to dockerized things?


Solution

  • I managed to figure out the issue. A Docker container cannot have a different filesystem list than their host machine, and I was using Container-OS as the base for the Kubernetes nodes. I created a new nodepool with Ubuntu as a base, and was then able to run a singularity .simg without issue.