Я пытаюсь запустить сингулярность внутри док-контейнера. Тем не менее, я не могу понять или понять, как заставить возможности «squashfs» работать с .simg
сингулярными изображениями.
Я видел несколько тем обсуждения, которые указывают, что эта команда:
cat /proc/filesystems|grep squashfs
Должен вернуть squashfs
, но когда я запускаю его в своем контейнере докеров, я просто получаю пустую строку. Я пробовал смотреть руководства по установке squashfs, но все они, кажется, связаны с исправлением и обновлением ядер, что немного не в моих силах.
В частности, ошибка, с которой я сталкиваюсь с .simg, следующая:
singularity exec myimage.simg
ERROR : Failed to mount squashfs image in (read only): No such file or directory
ABORT : Retval = 255
Я также пытался использовать «mount» для монтирования .simg, но это меня заводит:
mount -o loop,offset=31 myimage.simg /mnt
mount: /mnt: unknown filesystem type 'squashfs'.
Я чувствую, что упускаю что-то очевидное. Как добавить squashfs к докеризованным вещам?
Те уже установлены. Если бы у меня была проблема с зависимостью, он бы сказал мне, что не смог найти зависимость.
Мне удалось разобраться в проблеме. Контейнер Docker не может иметь другой список файловых систем, чем его хост-компьютер, и я использовал Container-OS в качестве основы для узлов Kubernetes. Я создал новый пул узлов с Ubuntu в качестве основы, а затем смог без проблем запустить сингулярность .simg.
Может быть, попробовать установить эти зависимости внутри контейнера Docker: sylabs.io/guides/3.0/руководство пользователя/…? (Предполагая, что вы используете Ubuntu в качестве базовых образов Docker)