1

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?

mstorkson
  • 1,130
  • 1
  • 10
  • 26
  • Maybe try to install these dependencies inside your Docker container: https://www.sylabs.io/guides/3.0/user-guide/quick_start.html#install-system-dependencies ? (Assuming you run Ubuntu as your base Docker images) – Igor Nikolaev Feb 27 '19 at 21:44
  • Those are already installed. If I had a dependency issue, it would tell me it was unable to find the dependency. – mstorkson Feb 27 '19 at 22:10

1 Answers1

2

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.

mstorkson
  • 1,130
  • 1
  • 10
  • 26