Files
stock/backend/Dockerfile
T

30 lines
691 B
Docker

# 多阶段构建:先编译 Go 后端,再使用最小运行时镜像
ARG GO_IMAGE=golang:1.25.8-alpine3.23
FROM ${GO_IMAGE} AS builder
WORKDIR /app
RUN apk add --no-cache git
COPY go.mod go.sum ./
RUN go env -w GOPROXY=https://goproxy.cn,direct && go mod download
COPY . ./
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o /app/stock-user-system ./cmd/api
FROM alpine:3.23
RUN apk add --no-cache ca-certificates tzdata
ENV TZ=Asia/Shanghai
WORKDIR /app
COPY --from=builder /app/stock-user-system /app/stock-user-system
ENV DATABASE_URL=""
ENV JWT_SECRET=""
ENV JWT_EXPIRATION_HOURS="168"
ENV PORT="3019"
ENV GIN_MODE="release"
EXPOSE 3019
CMD ["/app/stock-user-system"]