Постановка задачи
Я строю докер моего конвейера вычислительной биоинформатики, который содержит множество инструментов, которые будут вызываться на разных этапах конвейера. В этом процессе я пытаюсь добавить один инструмент The ViennaRNA Package , который будет загружен и скомпилирован с использованием исходного кода. Я пробовал много способов скомпилировать его в сборке Docker (как показано ниже), но ни один из них не работает.
Неудачные попытки
Код-1:
FROM jupyter/scipy-notebook
USER root
MAINTAINER Vivek Ruhela <vivekr@iiitd.ac.in>
# Copy the application folder inside the container
ADD . /test1
# Set the default directory where CMD will execute
WORKDIR /test1
# Set environment variable
ENV HOME /test1
# Install RNAFold
RUN wget https://www.tbi.univie.ac.at/RNA/download/sourcecode/2_4_x/ViennaRNA-2.4.14.tar.gz -P ~/Tools
RUN tar xvzf ~/Tools/ViennaRNA-2.4.14.tar.gz -C ~/Tools
WORKDIR "~/Tools/ViennaRNA-2.4.14/"
RUN ./configure
RUN make && make check && make install
Ошибка: файл конфигурации не найден
Код-2:
FROM jupyter/scipy-notebook
USER root
MAINTAINER Vivek Ruhela <vivekr@iiitd.ac.in>
# Copy the application folder inside the container
ADD . /test1
# Set the default directory where CMD will execute
WORKDIR /test1
# Set environment variable
ENV HOME /test1
# Install RNAFold
RUN wget https://www.tbi.univie.ac.at/RNA/download/sourcecode/2_4_x/ViennaRNA-2.4.14.tar.gz -P ~/Tools
RUN tar xvzf ~/Tools/ViennaRNA-2.4.14.tar.gz -C ~/Tools
RUN bash ~/Tools/ViennaRNA-2.4.14/configure
WORKDIR "~/Tools/ViennaRNA-2.4.14/"
RUN make && make check && make install
Ошибка: make: *** Не указаны цели и не найден make-файл. Стоп.
Я также попробовал другой способ явного определения местоположения файла, например
RUN make -C ~/Tools/ViennaRNA-2.4.14/
Если этот подход не работает.
Ожидаемая процедура
Я много раз устанавливал этот инструмент в своей системе, используя стандартную процедуру, указанную в документации к инструменту как
./configure
make
make check
make install
Аналогично для докера следующий код должен работать
WORKDIR ~/Tools/ViennaRNA-2.4.14/
RUN ./configure && make && make check && make install
Но этот код не работает, потому что я не вижу никакого эффекта от workdir. Я проверил, что configure правильно создает make-файл в моей системе. Так что он также должен создать файл make в Docker. Любые предложения о том, почему этот код не работает.