Files
CamTalk/backend/Dockerfile

31 lines
568 B
Docker

# ---- 构建阶段 ----
FROM golang:1.26-alpine AS builder
WORKDIR /app
# 使用国内 Go 代理
ENV GOPROXY=https://goproxy.cn,https://goproxy.io,direct
# 先复制依赖清单,利用 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"]