Files
rag/Dockerfile
2026-04-21 09:16:54 +08:00

46 lines
1.1 KiB
Docker

# 多阶段构建 - 第一阶段:编译(使用已安装的镜像)
FROM golang:1.26-alpine3.23 AS builder
RUN apk add --no-cache git ca-certificates tzdata
RUN go env -w GO111MODULE=on \
&& go env -w GOPROXY=https://goproxy.cn,direct \
&& go env -w GOPRIVATE=gitea.com/red-future/*
# 配置Git URL重定向到私有仓库
RUN git config --global url."http://116.204.74.41:3000/red-future/".insteadOf "https://gitea.com/red-future/" \
&& git config --global url."http://116.204.74.41:3000/red-future/".insteadOf "http://gitea.com/red-future/"
WORKDIR /build
COPY go.mod go.sum ./
RUN go mod download && go mod verify
COPY . .
RUN go mod tidy
# 编译生成 rag 二进制
RUN CGO_ENABLED=0 GOOS=linux go build -v -o rag .
# 第二阶段:运行
FROM alpine:3.23
ENV TIME_ZONE=Asia/Shanghai
RUN apk add --no-cache ca-certificates tzdata && \
ln -sf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime
WORKDIR /app
# 复制编译好的二进制文件
COPY --from=builder /build/rag .
COPY config.yml ./
# 创建日志目录
RUN mkdir -p /logs /app/resource/log/run /app/resource/log/server
EXPOSE 3006
CMD ["./rag"]