Docker找不到configuration文件

我正在创build一个Dockerfile。 我已经将Python的解压缩protobuf-3.3.0文件夹包含在与Dockerfile相同的目录中。 在protobuf文件夹中有一个名为configure的二进制文件,完全可以在我的(非Docker)主机上运行。

我在我的Dockerfile中有以下几行:

 WORKDIR /protobuf-3.3.0 RUN ./configure && make && make install 

但是,这会导致以下致命错误:

 Step 4/13 : WORKDIR protobuf-3.3.0 ---> 077ec08916d7 Removing intermediate container 50647f3aa6d7 Step 5/13 : RUN ./configure && make && make install ---> Running in 2d6f8446cdd9 /bin/sh: 1: ./configure: not found 

为什么?!? 根据这个答案 ,我在我的Dockerfile中是完全正确的。 我也尝试过这个版本,但结果是一样的。

你在当前文件夹中有什么叫上下文。 它可用于您的docker集装箱复制和使用,但它并不意味着它在您的容器中。

您需要将其复制到dockerfile中

 WORKDIR /protobuf-3.3.0 COPY ./protobuf-3.3.0 /protobuf-3.3.0 RUN ./configure && make && make install 

WORKDIR仅指定当前目录在容器内部,但不从上下文复制该文件夹