问题标签 [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 回答
817 浏览

singularity-container - 奇点容器 - 在单独的分区中绑定文件夹

data_dir我在没有 root 权限的高性能集群上有一个私有组项目文件夹(我们称之为)。该文件夹位于单独的分区中。
我有一个需要访问的奇点容器data_dir。官方文档说 -Bflag 是绑定路径,但我无法使用-B. 这是我到目前为止所尝试的:

如何data_dir使用容器访问?

0 投票
1 回答
423 浏览

singularity-container - 构建奇点图像:“安装基础包失败”

尝试为此包构建 Singularity 映像时: https ://bitbucket.org/MAVERICLab/vcontact2.git

我得到:

我有:

  • 奇点 2.5.2-dist
  • Ubuntu 16.04.6 LTS(我通过 apt-get 安装:dh-autoreconf、build-essential、libarchive-dev、debootstrap)

该错误对我来说看起来很模糊,看起来有些软件包无法下载。我应该怎么解决这个问题?(我不想使用新版本的 Singularity)

0 投票
1 回答
1476 浏览

python - 如何使用 docker 容器中的 Singularity 运行 python 程序?

我为我的纯 python 程序创建了一个 docker 容器,并设置python main.py为在容器运行时执行。在我的本地机器上运行容器按预期工作。但是,我想在我机构的高性能集群上运行容器。集群机器使用Singularity,我用它来提取托管在 Dockerhub 上的 docker 映像(repo 是 darshank11/ga_paci_final)。但是,当我尝试运行 Singularity 容器时,出现以下错误:python3: can't open file 'main.py': [Errno 2] No such file or directory.

我尝试更改 Dockerfile 中的基本映像,例如从FROM python:latest更改为FROM ubuntu:latest.我确保 docker 容器在我的本地计算机上工作,然后让我的一位同事从 Dockerhub 中提取容器并运行它. 一切正常,直到我到达奇点。

这是我的码头文件:

0 投票
2 回答
399 浏览

ubuntu-18.04 - 在 Singularity 容器中安装 TinyTeX

我正在用 RMarkdown 写一篇论文,为了获得更好的可重复性,我想将所有必需的软件容器化在一个奇异容器中。不幸的是,当我尝试安装 TinyTeX (推荐用于 Rmarkdown 并且我更喜欢 TeXLive 不会过度膨胀容器)时,它失败并显示以下错误消息(完整的构建日志粘贴在这里):

这是构建定义文件,基本上它使用一个非常精简的ubuntu 18.04然后执行%post部分安装软件

我也尝试过tinytex::install_tinytex(dir="/opt/tinytex"),但这似乎并没有改变任何东西。有谁知道出了什么问题?

0 投票
1 回答
215 浏览

download - 下载用于本地构建的 Singularity 图像

我有一个没有连接到互联网的系统,但确实有 OS 包管理器 repos、PyPI、Conda 等的本地镜像。我想在这个系统上构建 Singularity 图像。看起来localimage引导代理是专门为这个用例设计的,但是我将如何下载基础镜像来构建我的镜像呢?从联网的机器上,我可以在不安装 Singularity 的情况下从 SyLabs、Singularity Hub 或浏览器中的其他地方下载“官方”基础映像吗?

0 投票
1 回答
2820 浏览

python - 从 dockerfile 激活奇异容器中的 conda 环境

我正在尝试从现有的 docker 映像设置一个奇点容器,在该容器中,只要我运行容器,就会激活名为“tensorflow”的 conda 环境。我在这里找到了有关此主题的一些答案。不幸的是,在这篇文章中,他们只解释了如何设置奇异 .def 文件以默认激活 conda 环境。但是,我只想修改现有的 Dockerfile,然后从中构建一个奇点映像。

到目前为止,我尝试的是像这样设置 Dockerfile:

构建 docker 映像后,我运行 docker 容器:

并进入容器:

结果符合预期。shell 会话在“tensorflow”环境处于活动状态时直接启动,该环境由 (tensorflow) 前缀指示。

要从这个 docker 图像构建奇异图像,我使用:

并使用以下命令运行容器:

这就是问题发生的地方。默认情况下,“base”环境被激活,而不是“tensorflow”环境。但是,我宁愿在运行奇异容器时激活“张量流”环境。

如何修改我的 Dockerfile,以便在同时运行 docker 容器和奇异容器时,默认环境是“tensorflow”?

非常感谢您的帮助!

0 投票
1 回答
513 浏览

singularity-container - 来自 conda 环境的奇点容器

我想在这篇文章之后从我的 conda 环境构建一个容器。但是,我收到以下错误:'/bin/sh: 1: cannot create ~/.bashrc: Directory nonexistent'。我正在使用 vagrant VM 来构建我的图像,如果有任何帮助,我将不胜感激。

0 投票
3 回答
2747 浏览

docker - Nextflow+Singularity:没有这样的文件或目录,即使文件存在

我正在尝试运行这个管道,它使用 Nextflow 实现并使用 Docker 容器。不幸的是,我不能使用 Docker,因为它不兼容 HPC(没有 sudo),所以我使用 Singularity 而不是 Docker。但是,似乎路径未正确安装,因为我收到此错误:

但是,当我查看路径时,该文件确实存在:

这是我的配置:

我试图为此找到解决方案,我唯一能找到的是autoMounts = true选项(上面已注释掉),这会导致管道在启用时甚至找不到它自己的 lua 脚本:

Edit1:我听从了 tsnowlan 的建议并添加--debugsingularity.engineOptions. 但是,有问题的路径似乎已安装:

Edit2:我修复了错误的安装点,这导致了另一个错误:

我猜容器内的权限设置不正确。

0 投票
1 回答
421 浏览

ubuntu - 是否可以从我不是管理员的系统上的容器中构建容器?

我想在本地构建奇点接收器,而不是依赖奇点集线器并将有限的每日构建配额浪费在修复愚蠢的语法错误上。但是,我不是运行容器的机器上的管理员。我想在 Singularity hub 上构建一个容器,我是一个管理员,可以在其中构建其他其他容器。但是,我尝试构建一个我可以使用的容器sudosu让我认为这是不可能的。有没有办法设置一个容器,我可以在其中构建容器,如果是这样,我目前的方法有什么问题?

我的食谱中有以下代码来创建用户“ubuntu”,密码为“ubuntu”,并且是“sudo”组的成员:

该配方在 Singularity hub 上成功构建。但是,我不能在容器内使用sudo或:su

这是否太不安全而无法实现?如果可能的话,我如何制作一个可以用来构建容器的容器?

0 投票
2 回答
767 浏览

python - 不同python版本时exec和构建奇点镜像时,同一个官方python docker镜像

我正在尝试基于docker://python:3.7-buster.

在该%post部分中,当我运行/usr/bin/env python3不同版本的 python 时,与我singularity exec使用相同的东西时不同。

这是我的测试定义文件:

这是我尝试构建它时发生的情况:

使用系统版本而不是 docker 映像提供的版本,这与我exec使用相同命令时发生的情况形成对比:

怎么了?

我尝试使用$(which python3)代替/usr/bin/env python3,并且在该部分中它仍然是相同的版本%post(使用singularity exec,它是使用的主机系统版本)。

我的目标实际上是能够安装一些我从 git 存储库中提取的个人 python 包,并使用运行的安装脚本进行安装/usr/bin/env python3 -m pip install -e .

我注意到有一个问题,因为 python 3 的系统版本没有包含pip.