Я новичок в Docker и пытаюсь создать свой первый контейнер, чтобы сделать установку набора инструментов очень простой. Я использую miniconda2 на базовом образе CentOS 7 и использую собственную среду анаконды. Мой Dockerfile выглядит примерно так:
FROM conda/miniconda2-centos7
WORKDIR /home
#Install relevant dependencies with yum
RUN yum install -y (relevant packages)
#Set environment variables
ENV LD_LIBRARY_PATH .:/home/lib:/usr/local/lib:$LD_LIBRARY_PATH
ENV PYTHONPATH /home/lib/python2.7/site-packages:$PYTHONPATH
ENV HOME /home
#Copy the environment.yaml file and create the conda env
COPY environment.yaml /tmp/
RUN conda env create -f /tmp/environment.yaml
RUN echo "source activate environment" > ~/.bashrc
ENV PATH /opt/conda/envs/env/environment:$PATH
ENV CONDA_DEFAULT_ENV environment
#Install (module)
RUN mkdir /home/(module)
COPY <module> /home/(module)/
WORKDIR /home/(module)
RUN make all install
Сборка завершается неудачно в последней строке, и ошибка, с которой я столкнулся, следующая:
make: cython: Command not found
make: *** [cython/(module).cpp] Error 127
Однако, если я закомментирую последнюю строку, соберусь успешно и запусту
docker run -it docker_test
(env) bash-4.2# make all install
Установка идет без заминки. Я прочитал эту проблему , но это не помогло мне в моем стремлении построить рабочий контейнер!
Одна мысль, которая у меня возникла, заключается в том, что каким-то образом среда anaconda не активируется во время сборки контейнера (я следовал советам в Интернете о том, как использовать среды anaconda с докером), но когда я запускаю интерактивную оболочку в контейнере, anaconda среда активируется. Однако я не уверен, как это отладить.