Files
likedream/Dockerfile
T
sugarBecomer b716434f62 🐛 opencv
2025-11-12 14:45:25 +08:00

45 lines
1.0 KiB
Docker

FROM golang:latest AS backend-builder
RUN apt update
RUN apt install -y build-essential
# 安装 OpenCV 开发库和依赖
RUN apt install -y \
libopencv-dev \
libopencv-core-dev \
libopencv-imgproc-dev \
libopencv-imgcodecs-dev \
libopencv-videoio-dev \
pkg-config
WORKDIR /build
COPY . .
ENV CGO_ENABLED=1
RUN go build -ldflags="-s -w" -o bin/server
RUN apt install -y upx-ucl
RUN upx --best --lzma bin/server
# 收集所有 OpenCV 运行时需要的 .so 文件
RUN mkdir -p /opencv-libs && \
cp -P /usr/lib/x86_64-linux-gnu/libopencv*.so* /opencv-libs/ 2>/dev/null || true
FROM golang:latest
# 安装 OpenCV 运行时依赖
RUN apt update && apt install -y \
libgl1 \
libgomp1 \
libglib2.0-0 \
&& rm -rf /var/lib/apt/lists/*
# 复制 OpenCV .so 文件到运行环境
COPY --from=backend-builder /opencv-libs/* /usr/lib/x86_64-linux-gnu/
COPY --from=backend-builder /build/bin/server /app/server
#COPY static /app/static
#COPY static/*.so /app/
WORKDIR /app
EXPOSE 8080
RUN ls -a
CMD ["./server"]