linux - "RUN ./configure"=> 在 Docker 中找不到,"RUN cd srcdir && chmod +x ./configure"成功后

标签 linux docker

我正在尝试在 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/

相关文章:

android - 为 Android 设备构建内核

linux - Bash 符号链接(symbolic link)到工作目录而不是指定目录

docker - yum 在 Centos 上安装 Docker |需要容器-selinux libseccomp slirp4netns fuse-overlayfs 错误

docker - Docker Swarm服务间通信是否通过路由网格?

docker - minishift/openshift中的fsHandler.go rootDiskErr和rootInodeErr错误是什么

linux - 将不同的公共(public)IP分配给同一个Docker容器的多个实例

c++ - 在多线程c++中捕获进程的输出

c - linux c中的串行通信

linux - libXtst 随 yum 安装;/usr/lib/libXtst.so.6 在哪里?

docker - 为什么 Docker vfs 存储后端不适合生产?