Контейнер Singularity - связывание папки в отдельном разделе - PullRequest
0 голосов
/ 06 июля 2019

У меня есть папка проекта частной группы (назовем ее data_dir) в высокопроизводительном кластере, где у меня нет привилегий root.Папка находится в отдельном разделе.
У меня есть контейнер Singularity, к которому мне нужно получить доступ data_dir.Официальная документация гласит, что флаг -B предназначен для привязки пути, но я не могу получить доступ к папке внутри контейнера, используя -B.Это то, что я пробовал до сих пор:

XXXXXX  login1[~/work/subcam] master ⦿ ➜  readlink data
/gpfs/projects/oceanvideo/data
XXXXXX  login1[~/work/subcam] master ⦿ ➜  singularity run -B $(readlink data):$(pwd)/data container.sif
WARNING: skipping mount of /local_scratch: no such file or directory

________                               _______________
___  __/__________________________________  ____/__  /________      __
__  /  _  _ \_  __ \_  ___/  __ \_  ___/_  /_   __  /_  __ \_ | /| / /
_  /   /  __/  / / /(__  )/ /_/ /  /   _  __/   _  / / /_/ /_ |/ |/ /
/_/    \___//_/ /_//____/ \____//_/    /_/      /_/  \____/____/|__/


You are running this container as user with ID 21530 and group 21500,
which should map to the ID and group for your user on the Docker host. Great!

tf-docker ~/work/subcam > cd data
bash: cd: data: No such file or directory
tf-docker ~/work/subcam > cd /gpfs/
tf-docker /gpfs > ls
work
tf-docker /gpfs > cd projects
bash: cd: projects: No such file or directory

Как я могу получить доступ к data_dir с контейнером?

1 Ответ

1 голос
/ 08 июля 2019

-B - правильный способ монтирования каталогов в контейнере.Несколько вариантов:

  1. Если /gpfs/projects/oceanvideo/data сама является символической ссылкой, она не будет разрешена внутри контейнера и выдаст этот код ошибки.readlink разрешит только один уровень.Найдите исходный несвязанный путь и используйте его с -B.
  2. Если это не так, запустите с singularity -vv run ..., чтобы узнать, есть ли дополнительная информация о том, почему каталог не монтируется.
  3. Убедитесь, что кластер разрешает привязки пользователей
...