我正在尝试在 Dockerfile 中构建 swig。但是,当我尝试运行 ./configure
时,我收到一条错误消息,指出未找到它,尽管它确实存在。
这是使用 Dockerfile 安装 swig 的工作示例:
FROM nvidia/cuda:7.5-cudnn4-devel
MAINTAINER Tim O'Shea <tim.oshea753@gmail.com>
# install swig
RUN apt-get install -y g++
RUN apt-get install -y libpcre3 libpcre3-dev
RUN wget "http://prdownloads.sourceforge.net/swig/swig-3.0.12.tar.gz"
RUN chmod 777 swig-3.0.12.tar.gz
RUN tar -xzvf swig-3.0.12.tar.gz
RUN cd swig-3.0.12 && chmod +x ./configure && ls -l
RUN ./configure --prefix=$(pwd)/swigtool
RUN make
RUN make install
最佳答案
这些行中的问题具体如下:
RUN cd swig-3.0.12 && chmod +x ./configure && ls -l
RUN ./configure --prefix=$(pwd)/swigtool
请注意,RUN
仅适用于每层,这意味着每次您都必须使用 RUN cd swig-3.0.12
,这样您就可以将它们添加到像这样的一层
RUN cd swig-3.0.12 && /configure --prefix="$PWD/swigtool" && make && make install
The RUN instruction will execute any commands in a new layer on top of the current image and commit the results which explained in RUN in Dockerfile.
或者,您可以将其添加到需要在 swig-3.0.12 目录中执行的所有命令之前,例如:
WORKDIR /swig-3.0.12
RUN ./configure --prefix="$PWD/swigtool"
RUN make
RUN make install
关于linux - "RUN ./configure"=> 在 Docker 中找不到,"RUN cd srcdir && chmod +x ./configure"成功后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55268462/