Docker не может создать виртуальную среду conda

#python #docker #conda

#python #docker #conda

Вопрос:

Я пытаюсь настроить приложение 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 находятся в одном каталоге. Я пробовал использовать абсолютные пути, и это тоже не сработало.

Комментарии:

1. Просто измените команду на RUN conda create -n env --file spec-file.txt

2. Это все еще вызывает ту же проблему

3. Вы не COPY вводите spec-file.txt , поэтому его нет в изображении. .bashrc Настройка будет неэффективной (многие типичные пути для запуска контейнеров Docker вообще не запускают оболочку, а тем более оболочку входа), и вы можете использовать ENV инструкции для ручной настройки виртуальной среды.

Ответ №1:

Оказывается, мне нужно было добавить строку:

 COPY ./spec-file.txt .
  

Прежде чем пытаться создать среду.