问题陈述
我正在构建一个计算生物信息学流水线的docker,其中包含许多在流水线不同步骤中调用的工具。在此过程中,我尝试添加一个The ViennaRNA Package,它将使用源代码下载和编译。我尝试了许多方法来在docker构建中编译它(如下所示),但都没有成功。
失败的尝试
Code-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: *** 没有指定目标和找不到 makefile。停止。
我还尝试了另一种方式,明确告诉文件位置,例如:
RUN make -C ~/Tools/ViennaRNA-2.4.14/
这种方法仍然无效。
期望的过程
我已经按照工具文档中提到的标准过程多次在我的系统中安装了这个工具。
./configure
make
make check
make install
同样地,对于Docker而言,以下代码应该可以工作。
WORKDIR ~/Tools/ViennaRNA-2.4.14/
RUN ./configure && make && make check && make install
但是这段代码没有生效,因为我没有看到workdir的影响。我已经检查过配置是否在我的系统中正确地创建makefile。因此,它也应该在docker中创建make文件。 关于为什么这段代码不起作用的任何建议。