32 lines
596 B
Docker
32 lines
596 B
Docker
FROM golang:1.22 AS builder
|
||
|
||
WORKDIR /app
|
||
|
||
# 拷贝 mod 文件(包含 go.sum 才不会报错)
|
||
COPY go.mod go.sum ./
|
||
|
||
# 先下载基础依赖(避免 build 阶段失败)
|
||
RUN go mod download
|
||
|
||
# 再复制完整代码(这一步才有 fiber/sqlite3 的 import)
|
||
COPY . .
|
||
|
||
# 再 tidy,确保 go.sum 有完整依赖记录
|
||
RUN go mod tidy
|
||
|
||
# 构建可执行文件
|
||
RUN go build -o license-server main.go
|
||
|
||
# 最小运行时镜像
|
||
FROM alpine:latest
|
||
|
||
RUN apk add --no-cache ca-certificates sqlite
|
||
|
||
WORKDIR /root/
|
||
|
||
COPY --from=builder /app/license-server .
|
||
|
||
EXPOSE 13579
|
||
|
||
CMD ["./license-server"]
|