【问题标题】:Docker can't create conda virtual environmentDocker 无法创建 conda 虚拟环境
【发布时间】:2020-09-10 09:40:52
【问题描述】:

我正在尝试 dockerize 一个 python 应用程序,使用 conda 进行包管理。

我使用以下方法生成了一个规范文件:

conda list --explicit > spec-file.txt

我的 Dockerfile 中有以下代码:

FROM conda/miniconda3

RUN conda create -n env --file ./spec-file.txt
RUN echo "source activate env" > ~/.bashrc
ENV PATH /opt/conda/envs/env/bin:$PATH

当我运行docker-compose build 时,它产生了以下错误:

CondaFileIOError: './spec-file.txt'. [Errno 2] No such file or directory: './spec-file.txt'

Dockerfile 和 specfile 都在同一个目录中。我尝试过使用绝对路径,但也没有用。

【问题讨论】:

  • 只需修改命令为RUN conda create -n env --file spec-file.txt
  • 这仍然会导致同样的问题
  • 你不在 COPYing spec-file.txt 中,所以它不在图像中。 .bashrc 设置将无效(运行 Docker 容器的许多典型路径根本不运行 shell,更不用说登录 shell),您可能希望使用 ENV 语句手动进行虚拟环境设置。

标签: python docker conda


【解决方案1】:

原来我需要添加一行:

COPY ./spec-file.txt .

在尝试创建环境之前。

【讨论】:

    猜你喜欢
    • 2018-06-18
    • 2020-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多