28 lines
693 B
Docker
Executable File
28 lines
693 B
Docker
Executable File
# 构建阶段
|
|
FROM golang:1.25.4-alpine3.22 AS builder
|
|
WORKDIR /app
|
|
|
|
COPY go.mod go.sum ./
|
|
RUN go env -w GO111MODULE=on
|
|
RUN go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
|
|
RUN go mod download
|
|
|
|
COPY . .
|
|
RUN CGO_ENABLED=0 GOOS=linux go build -o main ./cmd/api
|
|
|
|
# 运行阶段
|
|
FROM alpine:latest
|
|
WORKDIR /app
|
|
|
|
RUN apk add --no-cache ca-certificates tzdata
|
|
ENV TZ=Asia/Shanghai
|
|
|
|
COPY --from=builder /app/main .
|
|
COPY --from=builder /app/configs ./configs
|
|
|
|
# 数据目录(上传文件等),运行时挂载 volume
|
|
RUN mkdir -p data/contract/uploads data/contract/batch_archive data/ownership data/zsp-contract/files
|
|
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["/app/main"]
|