#docker #anaconda #dockerfile #conda #docker-build
#docker #anaconda #dockerfile #conda #docker-сборка
Вопрос:
Я могу успешно создать свою виртуальную среду dev1
, но я не могу активировать ее и переключиться на in во время сборки Docker.
Все, что я хочу, это переключить venv и установить мои зависимости requirements.txt
.
Мой код:
WORKDIR /APP
ADD . /APP
ARG CONDA_VENV=dev1
RUN conda create -y --name ${CONDA_VENV} python=3.7
RUN conda activate ${CONDA_VENV}
RUN pip install -r requirements.txt
Ошибка:
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run
$ conda init <SHELL_NAME>
Currently supported shells are:
- bash
- fish
- tcsh
- xonsh
- zsh
- powershell
See 'conda init --help' for more information and options.
IMPORTANT: You may need to close and restart your shell after running 'conda init'.
The command '/bin/sh -c conda activate ${CONDA_VENV}' returned a non-zero code: 1
Комментарии:
1. Образ Docker сам по себе является изолирующей средой. Безопасно (и обычно)
pip install
напрямую обращаться к «системному» Python; вам не нужна виртуальная среда поверх этого.2. Я согласен с @DavidMaze — conda и ее производные не нужны в docker.