sudo権限がなくても使えるコンテナ。KEKCCではsingularityが利用できる。 →実はapptainerへのsymbolic linkが貼ってある KEKCC上のコンテナの案内
既存のコンテナを読み込む場合
例えばdocker hubのコンテナ例:T2KReweightを使用する場合
$ singularity pull --verbose t2kreweight_24_05.sif docker://picker24/t2kreweight_24_05:alma9
hoge.sifは作成するコンテナの名前。なんでも良い
注:KEKCCでは/tmpのクォータが小さくbuildが失敗する。一時ファイルの置き場を自分のhomeの下などにしてこれを回避する必要がある。
環境変数SINGULARITY_TMPDIRを設定すればOK。
shellでコンテナの環境が利用できる。-Bオプションはコンテナ外のファイルをコンテナに見せる(bind)。
$ singularity shell t2kreweight_24_05.sif -B /path/to/src
コンテナは基本的にreadonlyだが、containerで開発をしたいこともあるはず。例えばND280Software(HighLAND)を使うとき
$ singularity build --sandbox development/ docker://git.t2k.org:8088/nd280/framework/nd280softwaremaster:centos7-13.28
で編集可能なコンテナ(sandbox)をカレントディレクトリのdevelop/以下に作成できる。開くには
$ singularity shell --writable development/