我需要有一个Dockerfile与Python3和最新版本的OpenCV。我写的Dockerfile如下所述:
FROM ubuntu
#Install OpenCV
RUN apt-get update &&\
apt-get install -y cmake
RUN apt-get install -y gcc g++
RUN apt-get install -y python3-dev python3-numpy
# To support GUI features
RUN apt-get install -y libavcodec-dev libavformat-dev libswscale-dev
# To support GTK 2
RUN apt-get install -y libgtk2.0-dev
# To support GTK 3
RUN apt-get install -y libgtk-3-dev
#Optional dependencies
RUN apt-get install -y libpng-dev
RUN apt-get install -y libjpeg-dev
RUN apt-get install -y libopenexr-dev
RUN apt-get install -y libtiff-dev
RUN apt-get install -y libwebp-dev
# Clone OpenCV repo
RUN apt-get install -y git
RUN git clone https://github.com/opencv/opencv.git
#Compile
RUN mkdir /opencv/build && \
cd /opencv/build
RUN cmake ..
RUN make
但是,当我运行它时,它给了我下面的错误与cmake
。
Step 17/27 : RUN cmake ..
---> Running in 3dca32df2036
CMake Error: The source directory "/" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
The command '/bin/sh -c cmake ..' returned a non-zero code: 1
你知道我哪里做错了吗?
1条答案
按热度按时间mklgxw1f1#
您只需要链接最后的
RUN
指令:解释:
RUN
语句创建一个新的图像层并执行指定的shell命令。这意味着每个RUN
语句都将在一个单独的shell中运行该命令,因此不会保留前一个RUN
的当前目录(通过仔细查看错误消息,您可以看到CMake当前目录为/
)。您可以在Docker文档中找到有关
RUN
语句的更多信息,我还建议您阅读编写Docker文件的最佳实践。