Spaces:
Running
Running
| # --- 阶段 1: 编译阶段 --- | |
| FROM golang:1.24-alpine AS builder | |
| # 安装编译 CGO 所需的工具以及 git | |
| RUN apk add --no-cache gcc musl-dev git | |
| WORKDIR /src | |
| # 克隆仓库 (直接克隆到当前目录) | |
| RUN git clone https://github.com/1354427059/orchids-api.git . | |
| # 下载依赖 | |
| RUN go mod download | |
| # 编译程序 (开启 CGO) | |
| RUN CGO_ENABLED=1 GOOS=linux go build -o /app/server ./cmd/server | |
| # --- 阶段 2: 运行阶段 --- | |
| FROM alpine:latest | |
| WORKDIR /app | |
| # 安装必要的运行时库 | |
| RUN apk add --no-cache ca-certificates | |
| # 从编译阶段拷贝二进制文件 | |
| COPY --from=builder /app/server . | |
| # 从编译阶段的源码目录拷贝静态资源和初始化数据 | |
| # 注意:这里路径需指向 builder 阶段的 /src | |
| COPY --from=builder /src/web ./web | |
| COPY --from=builder /src/data ./data | |
| # 创建调试目录 | |
| RUN mkdir -p /app/debug | |
| EXPOSE 3002 | |
| CMD ["./server"] |