Сценарий
Я пытаюсь настроить простой образ докеров (я совершенно новый для докеров, поэтому, пожалуйста, исправьте мои возможные заблуждения) на основе общедоступных continuumio/anaconda3.
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 .
заканчивается ошибкой:
/bin/sh: 1: source: not found
при активации новой виртуальной среды.
Предложение 1:
После этого ответа я попытался:
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
, а ass 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
Файлы докеров работают из коробки как MWE. Я ценю любые идеи. Спасибо!