Docker找不到配置文件

7 浏览
0 Comments

Docker找不到配置文件

我正在创建一个Dockerfile。我在与Dockerfile相同的目录中包含了解压缩的protobuf-3.3.0文件夹,用于Python。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中的内容是完全正确的。我也尝试了这里的版本,但结果是相同的。

0
0 Comments

在使用Docker时,有时会遇到"Docker can't find configure file"的问题。出现这个问题的原因是当前文件夹中的内容只是一个上下文(context),它可以被Docker容器复制并使用,但并不意味着它在容器中存在。

要解决这个问题,需要在Dockerfile中将上下文中的文件夹复制到容器中。可以使用以下代码来完成:

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

其中,WORKDIR指定了容器内的当前目录,但并不复制上下文中的文件夹。

通过将文件夹复制到容器中,Docker就能够找到配置文件,并进行后续的操作。这样就解决了"Docker can't find configure file"的问题。

0