# 构建阶段 FROM golang:1.22-alpine AS builder # 安装 OpenCV 和编译工具 RUN apk add --no-cache \ gcc \ g++ \ musl-dev \ opencv \ opencv-dev \ pkgconfig WORKDIR /app # 复制源代码 COPY . . # 构建 (启用 CGO) RUN go mod download || true RUN CGO_ENABLED=1 GOOS=linux go build -ldflags="-s -w" -o anticaptcha ./cmd/server # 运行阶段 FROM alpine:3.20 # 安装运行时依赖 RUN apk add --no-cache \ ca-certificates \ tzdata \ opencv \ libstdc++ 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"]