【问题标题】:How to do configure,make and make install in docker build如何在 docker build 中进行配置、制作和安装
【发布时间】: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 文件。 关于为什么此代码不起作用的任何建议。

【问题讨论】:

    标签: docker makefile configure


    【解决方案1】:

    您正在提取 Tools 文件夹中的所有文件,该文件夹位于 home 中,试试这个:

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

    【讨论】:

    • 我犯了一个非常小而愚蠢的错误。有效。谢谢。在浪费一个半小时在这个问题上之前,我应该问一下。再次感谢。现在我将其标记为正确答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-02
    • 2018-04-18
    • 2021-10-20
    • 1970-01-01
    • 2021-08-20
    • 2017-05-25
    • 1970-01-01
    相关资源
    最近更新 更多