我想在这篇文章之后从我的 conda 环境构建一个容器。但是,我收到以下错误:'/bin/sh: 1: cannot create ~/.bashrc: Directory nonexistent'。我正在使用 vagrant VM 来构建我的图像,如果有任何帮助,我将不胜感激。
问问题
513 次
1 回答
2
编辑.bashrc
,除了失败之外,将无济于事,因为奇异性加载的外壳是明确的--norc
. 您想使用$SINGULARITY_ENVIRONMENT
变量 in%post
来获得可用的值。
这些方面的东西:
%post
# You may need to install some pre-reqs your host system has installed outside of conda, e.g.
# apt update && apt install -y build-essential make zlib
ENV_NAME=$(head -1 environment.yml | cut -d' ' -f2)
echo ". /opt/conda/etc/profile.d/conda.sh" >> $SINGULARITY_ENVIRONMENT
echo "conda activate $ENV_NAME" >> $SINGULARITY_ENVIRONMENT
. /opt/conda/etc/profile.d/conda.sh
conda env create -f environment.yml -p /opt/conda/envs/$ENV_NAME
我列出了一些你可能已经安装在当前机器上的库,这些库可能没有安装在 slim docker 映像中。您可以根据自己的喜好通过 apt 或 conda 安装它们。如果确实发生了,它将特定于您的 environment.yml 和主机操作系统,因此您必须迭代直到构建成功。
于 2019-09-03T14:48:33.207 回答