Dockerfile38 lines · 1236 chars FROM ubuntu:jammy-20260210.1
# Non-interactive installs
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential cmake git pkg-config \
&& rm -rf /var/lib/apt/lists/*
# Build from source
WORKDIR /opencv
COPY . /opencv
# Configure minimal build to avoid heavy external dependencies
RUN cmake -S . -B build \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTS=OFF \
-DBUILD_PERF_TESTS=OFF \
-DBUILD_DOCS=OFF \
-DWITH_GSTREAMER=OFF \
-DWITH_JPEG=OFF \
-DWITH_PNG=OFF \
-DWITH_TIFF=OFF \
-DWITH_OPENGL=OFF \
-DWITH_V4L=OFF
# Build and install
RUN cmake --build build -j$(nproc) \
&& cmake --install build --prefix /usr/local
# Path and pkg-config setup
ENV PATH=/usr/local/bin:$PATH
RUN mkdir -p /usr/local/lib/pkgconfig && printf "prefix=/usr/local\nexec_prefix=${prefix}\nlibdir=${prefix}/lib\nincludedir=${prefix}/include/opencv4\nName: OpenCV\nDescription: OpenCV library\nVersion: 4.x\nRequires:\nLibs: -L${libdir} -lopencv_core -lopencv_imgcodecs -lopencv_imgproc -lopencv_highgui -lopencv_videoio\nCflags: -I${includedir}\n" > /usr/local/lib/pkgconfig/opencv4.pc || true
CMD ["bash"]