Какое пространство требуется для построения контейнера Singularity? - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть файл def для создания контейнера (в Vagrant VM). Если я строю как песочницу:

sudo singularity build --sandbox mytest/ mytest.def

, то сборка завершается. Однако, если я строю прямо в контейнер:

sudo singularity build mytest.sif mytest.def 

, тогда я получаю ошибку:

FATAL:   While performing build: While creating SIF: while creating container: writing data object for SIF file: copying data object file to SIF file: write mytest.sif: no space left on device

Если я пытаюсь преобразовать песочницу в контейнер:

sudo singularity build mytest.sif mytest/

тогда я получаю ту же ошибку.

Документы не дают указание количества места, необходимого для сборки против песочницы. Я мог бы увеличить размер Vagrant VM, но было бы хорошо иметь представление о том, насколько я должен увеличить его, чтобы убедиться, что сборка прошла успешно

1 Ответ

1 голос
/ 05 ноября 2019

Размер зависит от изображения. Если вы строите из образа докера, вы можете посмотреть на него, чтобы получить общее представление о его размере. Однако важно знать, где разместить дополнительное дисковое пространство.

Singularity использует каталог tmp (по умолчанию: /tmp) и каталог кэша (по умолчанию: $HOME/.singularity/cache) в дополнение к каталогу, который вы 'Обратите внимание, что кэш-директория использует /root/.singularity/cache, а не ваш пользователь на sudo singularity build из-за sudo. Виртуальные машины часто имеют небольшие разделы /, /root и / или /tmp по умолчанию. В прошлом это было для меня уловкой, и это также может повлиять на вас.

Вы можете использовать флаг --tmpdir в билде, чтобы изменить его на место, где больше места, если это необходимо ( см. Документациюздесь ).

Чтобы изменить каталог кэша по умолчанию, вы должны установить переменную окружения SINGULARITY_CACHEDIR, с подробностями об особенностях в документации здесь . Вы также можете установить SINGULARITY_TMPDIR таким же образом вместо использования флага --tmpdir. Иногда полезно хранить все изменения среды в одном месте.

...