Особенность запустить и выполнить команду
Я знаю, как запустить особенность:
singularity run /mn/sarpanitu/singularity/test/fenics-and-more.img
Есть ли способ сделать одну строку (или более) для запуска предыдущей команды, а затем в единственном числе запустить echo "hi there"
? (Конечно, я буду использовать что-то более сложное, чем привет в производстве). Как только это будет сделано, я хочу, чтобы моя сингулярность оставалась здоровой для интерактивного использования.
Так что-то вроде намерения:
singularity run /mn/sarpanitu/singularity/test/fenics-and-more.img -bash-command echo "hi there"
или же
singularity run /mn/sarpanitu/singularity/test/fenics-and-more.img -run-script-at-startup script.sh
2 ответа
Это очень связано со следующим вопросом: bash скрипт для выполнения действий в контейнере сингулярности, который он открывает. Решение размещено там, в основном с использованием -c
вариант и порождение консоли bash.
Использование exec
для выполнения команды внутри контейнера вместо run
, Добавьте оболочку и скрипт в качестве параметров.
singularity exec /mn/sarpanitu/singularity/test/fenics-and-more.img /bin/sh script.sh
Кроме того, добавьте выполнение параметра в качестве команды времени выполнения по умолчанию в части runScript.
%runscript
exec "$@"