Singularity exec - проблема с перенаправлением эха - PullRequest
0 голосов
/ 05 сентября 2018

Я использую контейнер Singularity с основанием Ubuntu xenial.

Когда я пытаюсь создать текстовый файл с помощью команды перенаправления из команды echo в файловую систему, цель перенаправления интерпретируется как на хосте, а не на контейнере.

Ниже приведена команда -

singualrity exec ubuntu_xenial_image.img echo "test" >> /mnt/test.txt

Вместо того, чтобы создавать файл test.txt в папке контейнера с именем / mnt, он пытается записать файл test.txt в корневую папку хоста /mnt/test.txt, что приводит к ошибке - нет прав доступа, как, очевидно, я делаю нет разрешения на запись в корневую папку хоста.

Знаете ли вы, почему перенаправление идет на файловую систему хоста, а не на файловую систему контейнера, поскольку предполагается, что команда singularity exec должна работать?

1 Ответ

0 голосов
/ 11 сентября 2018

Полная команда, как написано, делится на

singularity exec ubuntu_xenial_image.img echo "test"

для контейнера и вывод перенаправляется на >> /mnt/test.txt в файловой системе хоста.

чтобы исправить это

$ singularity exec ubuntu_xenial_image.img sh -c "echo" test ">> /mnt/test.txt"

Таким образом, полная команда будет интерпретирована sh внутри контейнера.

В дополнение к этому вам необходимо проверить права на запись в каталог / mnt или выполнить с помощью sudo .

...