如何解决在奇点内运行conda
我想以单个命令运行conda命令。 命令是:
singularity exec ~/dockerimage.sif conda
它会产生一个错误:
/.singularity.d/actions/exec: 9: exec: conda: Permission denied
这是我的dockerfile:
FROM ubuntu:20.04
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y apt-utils wget=1.20.3-1ubuntu1 python3.8=3.8.2-1ubuntu1.2 python3-pip=20.0.2-5ubuntu1 python3-yaml=5.3.1-1 git=1:2.25.1-1ubuntu3
RUN wget https://repo.anaconda.com/miniconda/Miniconda3-py38_4.8.3-Linux-x86_64.sh && chmod +x Miniconda3-py38_4.8.3-Linux-x86_64.sh && ./Miniconda3-py38_4.8.3-Linux-x86_64.sh -b && cp /root/miniconda3/bin/conda /usr/bin/conda
RUN wget https://data.qiime2.org/distro/core/qiime2-2020.8-py36-linux-conda.yml && conda env create -n qiime2-2020.8 --file qiime2-2020.8-py36-linux-conda.yml && conda install -y -n qiime2-2020.8 -c conda-forge -c bioconda -c qiime2 -c defaults q2cli q2template q2-types q2-feature-table q2-metadata vsearch snakemake
我应该添加到Dockerfile中什么?它将如何工作?
解决方法
您正在使用conda默认设置进行安装,这会将其放置在当前用户的家中。该用户为root
。奇点将以您当前的用户身份运行,因此,除非您以root用户身份运行,否则conda文件将不可用。
- 修改conda install命令以设置安装前缀:
-p /opt/conda
(或其他任意位置) - 确保任何用户都可以访问使用conda安装的文件:
chmod -R o+rX /opt/conda
- 更新
PATH
以包含conda:export PATH="$PATH:/opt/conda/bin"
- 运行图像时,请确保环境变量未覆盖容器中的环境变量:
singularity exec --cleanenv ~/dockerimage.sif conda
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。