奇异性:图像,容器和实例之间有什么区别?

时间:2019-10-22 15:35:41

标签: singularity-container

我开始学习用于科学管道可重复分析的奇点。一位同事解释说,已使用图像实例化容器。但是,在阅读文档和教程时,还使用了术语instance,并且imagecontainer的用法似乎可以互换。因此,我不确定我是否确切了解图像,容器和实例之间的区别。我确实知道,配方是用于构建其中一个的文本文件(我认为是图像?)。

例如,在this page上说明:

  

现在我们可以将定义文件构建为图像了!只需运行build   图像将准备就绪:

$ sudo singularity build url-to-pdf-api.img Singularity

好的,因此它使用配方Singularity来构建图像,直观扩展名为.img。但是,build命令的帮助描述如下:

  

$奇异性帮助构建

     

用法:奇点[...] build [build   选项...]

     

构建命令   根据配方(定义文件)或基于URI编译容器,   位置或存档。

所以这似乎表明我们正在构建一个容器?

然后,有imageinstance子命令。

所有这些术语是否可以互换使用?似乎有时候它们是相互之间有时又是不同的。

1 个答案:

答案 0 :(得分:1)

container是创建沙盒运行环境的一般概念,可以用作引用Docker或Singularity映像的通用术语。但是,有时它也用于指代所生成的特定文件。这可能不理想,因为它显然会引起新用户的困惑。

image通常用于指代singularity build ...

创建的实际文件。

instance是指运行奇点图像的特定方式。通常,如果您singularity run some_image.sifsingularity some_image.sif some_command在运行时无法轻松访问其环境。但是,如果您改为运行singularity instance start some_image.sif some_instance1,它将创建一个持久性服务,您可以像docker容器一样访问它。 singularity service/instance documentation提供了一些很好的示例,说明了如何与基本的execrun命令不同地使用实例。