【发布时间】:2020-02-11 00:29:22
【问题描述】:
问题陈述
我正在为我的计算生物信息学管道构建一个 docker,其中包含许多将在管道的不同步骤中调用的工具。在这个过程中,我尝试添加一个工具The ViennaRNA Package,它将使用源代码下载和编译。我已经尝试了很多在 docker build 中编译它的方法(如下所示),但都没有工作。
尝试失败
代码 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 的任何效果。我已检查 configure 是否在我的系统中正确创建了 makefile。所以它也应该在 docker 中创建 make 文件。 关于为什么此代码不起作用的任何建议。
【问题讨论】: