我正在尝试基于公共continuumio / anaconda3容器设置一个简单的docker映像( 对于docker我是一个新手,所以请更正我可能的误解 )。
的Dockerfile:
Dockerfile
FROM continuumio/anaconda3:latest # update conda and setup environment RUN conda update conda -y \ && conda env list \ && conda create -n testenv pip -y \ && source activate testenv \ && conda env list
以此docker build -t test .结束建筑物和图像,并显示以下错误:
docker build -t test .
/bin/sh: 1: source: not found
激活新的虚拟环境时。
按照这个答案,我尝试了:
FROM continuumio/anaconda3:latest # update conda and setup environment RUN conda update conda -y \ && conda env list \ && conda create -y -n testenv pip \ && /bin/bash -c "source activate testenv" \ && conda env list
乍一看,这似乎很有效,因为它输出:prepending /opt/conda/envs/testenv/bin to PATH,但conda env list屁股echo $PATH清楚地表明它没有:
prepending /opt/conda/envs/testenv/bin to PATH
conda env list
echo $PATH
[...] # conda environments: # testenv /opt/conda/envs/testenv root * /opt/conda ---> 80a77e55a11f Removing intermediate container 33982c006f94 Step 3 : RUN echo $PATH ---> Running in a30bb3706731 /opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
docker文件作为MWE开箱即用。我感谢任何想法。谢谢!
使用docker ENV指令,可以将虚拟环境路径永久添加到PATH。 尽管这不能解决列出的选定环境conda env list。
ENV
PATH
请参阅MWE:
FROM continuumio/anaconda3:latest # update conda and setup environment RUN conda update conda -y \ && conda create -y -n testenv pip ENV PATH /opt/conda/envs/testenv/bin:$PATH RUN echo $PATH RUN conda env list