diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100644 index 0000000..67bd3f3 --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,27 @@ +# ---- 构建阶段 ---- +FROM golang:1.26-alpine AS builder + +WORKDIR /app + +# 先复制依赖清单,利用 Docker 缓存层 +COPY go.mod go.sum ./ +RUN go mod download + +# 复制源码并构建 +COPY . . +RUN CGO_ENABLED=0 GOOS=linux go build -o /camtalk ./cmd/server + +# ---- 运行阶段 ---- +FROM alpine:3.20 + +RUN apk add --no-cache ca-certificates tzdata + +WORKDIR /app + +# 复制二进制和配置 +COPY --from=builder /camtalk . +COPY config.yaml . + +EXPOSE 8080 + +ENTRYPOINT ["./camtalk"]