使用 nextflow 创建奇点容器
Creating singularity container with nextflow
我正在尝试构建一个安装了 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
运行 它让我感动 'Permission Denied'
我是 运行ning 奇点 3.4.0-1
不确定我是否应该考虑使用绑定路径、叠加层或其他方式?
如果你的容器只需要Nextflow, may I suggest using the Nextflow biocontainer from quay.io?
singularity pull docker://quay.io/biocontainers/nextflow:19.07.0--hecc5488_0
如果您需要与 Nextflow 一起安装其他应用程序,通常会将这些安装到 /usr/local/bin
。但是像您所做的那样使用自定义目录路径并没有错。无论如何,您需要确保这些应用程序具有必要的权限。只需将 chmod 755 /s2fast/nextflow
添加到您的 %post section. Also remove your %runscript 部分。通常不需要它,除非您需要处理命令行参数。
我正在尝试构建一个安装了 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
运行 它让我感动 'Permission Denied' 我是 运行ning 奇点 3.4.0-1
不确定我是否应该考虑使用绑定路径、叠加层或其他方式?
如果你的容器只需要Nextflow, may I suggest using the Nextflow biocontainer from quay.io?
singularity pull docker://quay.io/biocontainers/nextflow:19.07.0--hecc5488_0
如果您需要与 Nextflow 一起安装其他应用程序,通常会将这些安装到 /usr/local/bin
。但是像您所做的那样使用自定义目录路径并没有错。无论如何,您需要确保这些应用程序具有必要的权限。只需将 chmod 755 /s2fast/nextflow
添加到您的 %post section. Also remove your %runscript 部分。通常不需要它,除非您需要处理命令行参数。