问题标签 [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.
bind - 奇点:绑定与主机同名的目录
我有一个目录(/home/user/data),我需要将其绑定到奇异容器中的 /data。所以像:
但是在主机上已经有一个 /data 目录。我知道 --contain 参数允许我不共享主机文件系统,但我只需要“屏蔽”主机 /data 目录即可将主机 /home/user/data 绑定到容器的 /data。有没有办法做到这一点 ?
谢谢
snakemake - 奇点和 Snakemake - MissingOutputException
我正在结合 Singularity 和 Snakemake 来为一些测序数据创建工作流程。我在这个 git 项目https://github.com/sci-f/snakemake.scif之后建模了我的管道。不使用 Singularity 的管道版本运行良好。使用 Singularity 的版本总是在第一条规则之后停止,并出现以下错误:
然而,该目录确实创建了 fastp 和 fastp_report 目录以及日志目录。我尝试将延迟增加到 50 秒,但我仍然得到同样的错误。
关于在这里尝试什么的任何想法?
conda - 从 Nipype docker 镜像 CommandNotFound 构建 Singularity 配方
我有以下奇点容器配方:
我用 Singularity 构建容器如下:
sudo singularity build swish.simg Singularity.swish
依赖项的安装和大部分构建都正常,直到我遇到source not found
. 重申这个问题以及我尝试过的方法:
- 我正在从食谱中构建一个 Nipype 图像。在 %post 中,我想在“neuro”conda 环境中安装两个额外的软件包(seaborn 和 pybids)。
- 但是,当我尝试在 %post 中激活神经环境(“source activate neuro”)时,我不断收到一条错误消息,提示找不到命令“source”。
- 我想用 bash 运行 %post 中的命令,但不确定在哪里指定它。
bind - 奇点中的挂载和绑定有什么区别?
阅读文档,似乎挂载和绑定都可以让您访问您选择的文件系统。有什么区别,为什么有人想做一个与另一个?
此外,文档讨论了“绑定安装”:
“默认情况下,奇异绑定会在运行时将 /home/$USER、/tmp 和 $PWD 挂载到您的容器中。” 这是一回事吗?
singularity-container - 错误:在构建奇点容器时,在未初始化的配置子系统上调用了singularity_config_get_value
我尝试从 Singularity Hub 构建一个奇点容器,如下所示:
sudo singularity pull shub://marcc-hpc/pytorch
我得到了
ERROR : Called singularity_config_get_value on uninitialized config subsystem
。
所以,我将配方复制粘贴到一个名为“recipe”的文件中,然后执行
sudo singularity build --sandbox myimage recipe
它以 33.3% 的完成率永远挂起,如下所示:
然后,我想我会尝试获取 hello world 容器:
singularity pull --name meatballs.img shub://vsoch/hello-world
...我得到了同样的错误信息。
有谁知道这个错误是什么意思,为什么我不能让它运行?
singularity-container - 错误:具有 Singularity 容器的容器中不存在基本主目录
我在拥有完全权限的服务器上构建了一个沙盒奇点容器:
sudo singularity build --sandbox myimage myrecipe
.
我将其移至另一台服务器。
当我运行时:
singularity shell myimage
我可以访问外壳。
但是,当我运行时:
singularity shell -w myimage
我得到:
ERROR : Base home directory does not exist within the container: /home
这是什么意思?我是否正确地假设这是因为-w
沙盒图像已经是可写的,所以这是多余的?
opengl - Singularity 不会“导入”OpenGL/EGL 库
我有一个安装了简单 Ubuntu 的 Singularity 容器:
当我“进入”容器时
我没有得到以下结果:
但是在我的主机系统上,我得到:
我正在使用--nv
基本上应该使用主机系统中的 NVIDIA 图形的选项,因此这应该是相同的吗?
笔记
主持人:4026 客人:1602
bash - awk 命令在 snakemake --use-singularity 中失败
我正在尝试将 Snakemake 与 Singularity 结合使用,我注意到awk
使用奇异性时,一个简单的命令不再起作用。最后$1
一行中的 bash 被替换,而不是被用作第一个字段awk
。
这是一个最小的工作示例(Snakefile):
当我在snakemake
没有奇点的情况下运行时,输出test.txt
看起来像预期的那样(仅包含用户名)。当我运行时snakemake --use-singularity
,该文件包含整行,例如root:x:0:0:root:/root:/bin/bash
.
这是来自 Snakemake 的日志:
bash - bash 脚本在它打开的奇异容器中执行操作
我在终端的 RedHat 上使用以下工作流程:
- 打开一个奇点图像:
singularity run /mn/sarpanitu/singularity/test/fenics-and-more.img
- 导出奇点内的一些显示:
export DISPLAY=:0.0
- 在奇点内导出到gmsh的路径:
export PATH="$HOME/Downloads/gmsh-git-Linux64/bin:$PATH"
我想把所有东西都写成 bash 脚本。我的第一个(不工作)方法如下(全部在一个singularity_script.sh文件中):
我通过采购然后调用函数来执行它:
但是,当然,这不起作用,因为导出是在父终端而不是子奇点中完成的(我认为?)。所以我没有以奇异的方式正确导出显示和路径。
有任何解决这个问题的方法吗?我想解决方案是在容器启动时自动运行容器内的脚本,但如何简单地做到这一点?
bash - 奇点运行并执行命令
我知道如何运行奇点:
有没有办法做一行(或更多)来运行上一个命令,然后在奇异运行echo "hi there"
?(当然,我会在生产中使用比 hi 更复杂的东西)。完成此操作后,我希望我的奇点仍然完好无损,可以交互使用。
所以类似于以下意图:
或者