# 构建阶段 - 使用 Debian 基础镜像,OpenCV 支持更好 FROM golang:1.22-bookworm AS builder # 安装 OpenCV 和编译工具 RUN apt-get update && apt-get install -y --no-install-recommends \ gcc \ g++ \ libopencv-dev \ pkg-config \ && rm -rf /var/lib/apt/lists/* WORKDIR /app # 复制源代码 COPY . . # 构建 (启用 CGO) RUN go mod download || true RUN CGO_ENABLED=1 go build -ldflags="-s -w" -o anticaptcha ./cmd/server # 运行阶段 FROM debian:bookworm-slim # 安装运行时依赖 RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates \ tzdata \ libopencv-core-dev \ libopencv-imgproc-dev \ libopencv-imgcodecs-dev \ libstdc++6 \ && rm -rf /var/lib/apt/lists/* WORKDIR /app # 复制二进制文件和前端 COPY --from=builder /app/anticaptcha . COPY --from=builder /app/web/dist ./web/dist # 创建目录 RUN mkdir -p /app/data /app/models ENV GIN_MODE=release ENV TZ=Asia/Shanghai EXPOSE 6688 CMD ["./anticaptcha"]