使用奇点时如何挂载主机文件

How to mount host file when using Singularity

我正在使用 Singularity,一种基于容器的软件,类似于 docker。

在 docker 中,当您尝试将主机系统 file/folder 挂载到容器时,您需要:

docker run -v /host/system/folder:/container/system/folder image_name [command]

我想知道如何在 Singularity 中做同样的事情,根据它的文档(老实说,网上没有太多教程)和我自己的理解,它应该是这样的:

singularity run -B /host/system/folder:/container/system/folder image_name [command]

我试过了,但它无法生成我预期的结果,所以我的问题是将主机系统文件挂载到奇点容器的正确方法是什么?

这是正确的方法,但取决于奇点的版本和您的内核(即未启用覆盖,在 RHEL/CentOS 6 中很常见)您可能需要一个预先存在的文件夹在那个位置挂载。

这可能是一个错字,但您的奇异性陈述也有误。 singularity run -B /foo:/bar image_name some_cmd some_opt 不会 运行 some_cmd some_opt,它会执行定义文件中的 %runscript 块。如果要在容器中指定命令为运行,则使用singularity exec ...形式。 documentation goes into more detail关于各个子命令的区别。