Docker找不到配置文件
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
在使用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"的问题。