# 第一阶段:编译 FROM golang:1.21-alpine AS builder RUN apk add --no-cache git WORKDIR /app COPY . . RUN go mod tidy RUN go build -o main . # 第二阶段:运行 FROM alpine:latest # 安装必要运行库 RUN apk add --no-cache ca-certificates libc6-compat WORKDIR /root/ # 从编译阶段复制文件 COPY --from=builder /app/main . COPY --from=builder /app/web ./web # --- 关键点:设置环境变量 --- # 强制让 main.go 中的 os.Getenv("PORT") 获取到 7860 ENV PORT=7860 # 如果你的数据库需要持久化,可以设置这个(Space 重启会重置,后续建议用 Secret) ENV DB_PATH=/tmp/data.db # 暴露端口 EXPOSE 7860 # 启动 CMD ["./main"]