# 预构建镜像:二进制在本机(GOOS=linux)编好,服务器只负责打层。 # 用途:服务器资源紧张时,跳过容器内的 go build。 # 由 scripts/push-build.sh 与 deploy.sh --prebuilt 使用;构建上下文里的 # server-linux-amd64 由本机交叉编译产出(已在 .gitignore / .dockerignore 中)。 FROM alpine:3.20 RUN apk add --no-cache ca-certificates tzdata WORKDIR /app COPY server-linux-amd64 /app/server COPY configs ./configs RUN mkdir -p /app/uploads ENV CONFIG_PATH=/app/configs/config.yml \ GIN_MODE=release \ UPLOAD_DIR=/app/uploads EXPOSE 8090 8091 8092 HEALTHCHECK --interval=30s --timeout=5s --start-period=20s --retries=3 \ CMD wget -qO- http://127.0.0.1:8090/api/health || exit 1 CMD ["/app/server"]