【问题标题】:Creating singularity container with nextflow使用 nextflow 创建奇点容器
【发布时间】:2019-10-03 16:13:11
【问题描述】:

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

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

我的 def 文件:

BootStrap: yum
OSVersion: 7
MirrorURL: http://mirror.centos.org/centos-%{OSVERSION}/%{OSVERSION}/os/$basearch/
Include: yum

%post
    yum -y install java-1.8.0-openjdk-headless
    yum -y install wget
    yum -y install which

    mkdir /s2fast
    cd /s2fast
    wget -qO- https://get.nextflow.io | bash

%runscript
    exec /s2fast/nextflow

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

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

【问题讨论】:

    标签: scientific-computing singularity-container nextflow


    【解决方案1】:

    如果您的容器只需要Nextflow,我可以建议使用quay.io 的Nextflow 生物容器吗?

    singularity pull docker://quay.io/biocontainers/nextflow:19.07.0--hecc5488_0
    

    如果您需要与 Nextflow 一起安装其他应用程序,通常会将这些应用程序安装到 /usr/local/bin。但是像您正在做的那样使用自定义目录路径并没有错。在任何情况下,您都需要确保这些应用程序具有必要的权限。只需将chmod 755 /s2fast/nextflow 添加到您的%post 部分即可。同时删除您的 %runscript 部分。除非您需要处理命令行参数,否则通常不需要它。

    【讨论】:

    • 好吧,看起来我做了一些 PBKAC 的变体,因为 chmod 似乎工作。我之前使用过 chmod,但它似乎从未正常工作。另外,我需要安装很多生物软件,所以我需要自己扮演角色。但是感谢您的提醒。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    相关资源
    最近更新 更多