问题标签 [singularity-container]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
406 浏览

julia - 尝试在奇异容器中安装系统范围的 Julia 应用程序时出现注册表问题

我正在尝试构建一个能够运行我编写的 Julia 应用程序的奇异容器。

我是根据包含 Julia 1.2 的官方 docker 映像来执行此操作的。这是我的定义文件:

%post当我尝试julia实例化项目时,构建在该阶段失败:

如果我使用相同的 docker 映像来构建“沙盒”容器 ( singularity build --sandbox <the folder> docker://julia:1.2-buster),并通过 使用它singularity shell --writable <the folder>,我可以作为普通用户执行此项目实例化步骤,并且它似乎可以工作。

如果我以 root 身份尝试,则会发生相同的ERROR: Package FASTX [c2308a5c-f048-11e8-3e8a-31650f418d12] not found in a registry.错误。

如果(在该可写沙箱中仍以 root 身份),我尝试在 REPL 中执行相同的问题:

这是在系统范围内安装 Julia 应用程序的正确方法吗?

(或多或少在我尝试https://discourse.julialang.org/t/julia-packages-with-singularity/19883/8的早期步骤中交叉发布,还没有答案)


编辑(2019 年 9 月 23 日)

感谢@David Varela回答,使用Pkg.Registry.add(Pkg.RegistrySpec(; url="https://github.com/JuliaRegistries/General.git")); Pkg.Registry.add(Pkg.RegistrySpec(; url="https://github.com/BioJulia/BioJuliaRegistry.git"));我现在有一个工作定义文件:

但是,生成的图像需要一个对于我们的计算集群来说太新的内核。

因此,我想尝试基于 构建类似的图像,但在Julia 1.1 之前不存在docker://julia:1.0-stretch注册表操作 API 。Pkg

是否有替代 1.0 兼容的方式来获取丢失的注册表?

自我回答:

我发现注册表可以使用git“手动”获取,如下:

(在上面,我使用 root 的.julia目录,因为 root 是构建和安装应用程序的目录。)

需要注意的是:应用程序的实例化和构建可以在没有Manifest.toml文件的情况下继续进行。我发现了这一点,因为我试图删除这个文件作为尝试删除包的版本限制的一部分。

0 投票
1 回答
202 浏览

scientific-computing - 使用 nextflow 创建奇点容器

我正在尝试构建一个安装了 nextflow 的奇异容器。完成构建后,我将其安装在目录中,并将其安装为 ROOT。当我尝试运行容器时,它失败了,因为我不是 root。我查看了最佳实践,它说以下内容:

始终将包、程序、数据和文件安装到操作系统位置(例如,不是 /home、/tmp 或任何其他可能经常绑定的目录)。

我的定义文件:

运行它让我“权限被拒绝”我正在运行奇点 3.4.0-1

不确定我是否应该考虑使用绑定路径、叠加层或其他东西?

0 投票
1 回答
554 浏览

docker - 如何将 args 从 docker 替换为奇异点?

我正在尝试提取 docker 映像,但必须使用奇异性。我怎样才能做到这一点?这是我正在运行的脚本。

我得到的错误是ERROR: Unknown option: --build-arg ERROR: Unknown option: -it.

任何帮助,将不胜感激。我是使用奇异容器而不是 docker 的新手

0 投票
1 回答
415 浏览

singularity-container - 使用“shell”命令运行 Singularity 容器时自动源配置

我使用奇异容器(从定义文件构建)来构建我的项目的代码。我使用它的方式是运行容器,singularity shell my_container.sif使我的工作空间安装在容器中,然后运行命令以在那里构建。

为了使构建工作,我首先需要获取一个配置文件来设置环境,创建一些别名等。这个配置文件是容器的一部分。所以目前在容器内我执行以下操作:

我想知道/setup.bash当我使用singularity shell. 我尝试使用%environment定义文件中的部分,但似乎无法在那里创建别名。

0 投票
1 回答
948 浏览

singularity-container - 奇点:图像、容器和实例之间有什么区别?

我开始学习 Singularity 以对科学管道进行可重复分析。一位同事解释说,图像用于实例化容器。但是,在阅读文档和教程时,instance也使用了该术语,并且使用imageandcontainer似乎可以互换。所以,我不确定我是否完全理解图像、容器和实例之间的区别。我确实知道食谱是用于构建其中一个的文本文件(我认为是图像?)。

例如,在此页面上,它解释了:

现在我们可以将定义文件构建成图像了!只需运行build ,图像就可以使用了:

好的,所以这使用配方Singularity来构建图像,直观的扩展名为.img. 但是,build命令的帮助描述指出:

$ 奇点帮助建立

用法:singularity [...] build [build options...]

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

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

然后,有imageinstance子命令。

所有这些术语可以互换使用吗?有时它们似乎是,有时它们之间存在差异。

0 投票
1 回答
544 浏览

docker - 奇点无法虚拟化文件系统命名空间:不允许操作

我正在尝试从以下Dockerfile(构建命令:)在 Docker 容器中运行 Singularity 容器docker build -f ./Dockerfile -t rocker-singularity .

使用命令:

但我得到错误:

我搜索了很多并发现了这个问题,但提出的解决方案不起作用。你能帮忙吗?

0 投票
1 回答
1715 浏览

singularity-container - 建造 Singularity 容器需要多少空间?

我有一个def文件来构建一个容器(在 Vagrant VM 中)。如果我构建为沙盒:

然后构建完成。但是,如果我直接构建到容器:

然后我得到一个错误:

如果我尝试将沙箱转换为容器:

然后我得到同样的错误。

文档没有说明构建与沙箱所需的空间量。我可以增加 Vagrant VM 的大小,但最好知道我应该增加多少以确保构建成功

0 投票
2 回答
658 浏览

python - Singularity-Container + Python + PyTorch:为什么“import torch”在 Arch Linux 主机上工作但在 Centos 7 主机上失败?

我正在尝试构建一个奇异容器,以在基于 CentOS 7 的集群上运行 Python 脚本。容器在我的主机上按预期运行,我也用它来创建容器,但一旦导入 PyTorch,就会在集群上失败。

这个问题可以通过这个最小定义文件的容器构建来重现:

调试.def:

它是用sudo singularity build debug.sif debug.def. 容器和我的主机都在 Arch Linux 上运行。

在我的主机上执行容器输出 PyTorch 版本:

在集群上运行它会导致以下错误:

我不明白为什么找不到该文件,因为它应该包含在容器中:

我假设导入时搜索中不包含相应的路径,并且由于某些环境设置泄漏到容器中,因此我的主机上不会出现此问题。我也尝试使用Sylabs Remote Builder,但它似乎无法构造 Arch 容器(在 $PATH 中找不到pacstrap )。尝试在其中一个节点上构建容器会导致同样的问题;Pacstrappacman不可用。

我束手无策,非常感谢任何解释这种行为的提示!为什么找不到共享库,怎么可能修复?

更新#1:

这是 LD_LIBRARY_PATH 环境变量的内容(响应@tsnowlan)。

Arch Linux 主机:

CentOS 7 集群节点:

更新#2:

我确实设置了一个新的干净的 VM(也运行 arch),它也在那里重建了容器。这个容器显示了同样的问题;它在我的主机上运行,​​但不在 CentOS 7 集群上。

0 投票
1 回答
402 浏览

recipe - 奇点容器中的默认路径

我对容器空间非常陌生,在学习了一些教程之后,我试图让我自己的奇点容器启动并运行。

我的食谱如下:

我试图弄清楚如何将下载的二进制文件添加到可执行路径中。我希望帖子部分中下载的文件会显示在容器内的 /home/ 或类似文件中,但是当我使用singularity shell myImage.simg.

0 投票
1 回答
23 浏览

caching - 一个脚本的词汇,无论它在哪里运行,它都会产生相同的输出

我想要一些关于使用什么词汇来描述以下内容的建议。拥有正确的词汇将使我能够搜索与概念相关的工具和想法

我想说一个脚本是 SomeWord 如果无论它在哪里运行,它都会产生相同的输出。

例如,以下脚本不是SomeWord:

因为当然这取决于它在哪里执行。

而以下(如果它运行没有错误)预计将始终产生相同的输出:

一个更有用的示例是加载和运行 docker 或奇异容器的方式,以保证正在使用非常特定的容器映像。例如,通过其内容哈希检索奇点图像。

SomeWord 脚本的优点是:(a) 它们可以在远程系统上安全运行,而无需担心环境;(b) 它们的输出可以被缓存。