如何在 docker 构建中进行配置、制作和安装

How to do configure,make and make install in docker build

问题陈述

我正在构建我的计算生物信息学管道 docker,其中包含许多将在管道的不同步骤调用的工具。在这个过程中,我试图添加一个工具 The ViennaRNA Package ,它将使用源代码下载和编译。我已经尝试了很多方法在 docker build 中编译它(如下所示)但是其中 none 是有效的。

尝试失败

代码 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 

错误:生成:*** 未指定目标且未找到生成文件。停止。

我还尝试了另一种明确告诉文件位置的方法,例如

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 文件。 关于此代码为何不起作用的任何建议。

你正在提取 homeTools 文件夹中的所有文件,试试这个:

WORKDIR $HOME/Tools/ViennaRNA-2.4.14
RUN ./configure
RUN make && make check && make install 

问题是 WORKDIR ~/Tools/ViennaRNA-2.4.14/ 被准确翻译为 ~/Tools/ViennaRNA-2.4.14/,它创建了一个名为 ~ 的文件夹,您也可以使用 $HOME 而不是