#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 .
Прежде чем пытаться создать среду.