Spaces:
Sleeping
Sleeping
File size: 846 Bytes
aba79e2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# 使用官方的 Golang 镜像进行构建
FROM golang:1.22 AS builder
# 禁用 CGO
ENV CGO_ENABLED=0
# 在容器中设置工作目录
WORKDIR /app
# 复制 go.mod 和 go.sum 并下载依赖
COPY go.mod go.sum ./
RUN go mod download
# 复制源代码并构建应用
COPY . .
# 静态编译 Go 应用程序,并将资源内嵌到二进制文件中
RUN CGO_ENABLED=0 GOARCH=amd64 go build -o ddg-chat-go .
# 使用更小的 Alpine 镜像以减小最终镜像体积
FROM alpine:latest
# 设置工作目录
WORKDIR /app
# 从构建阶段复制编译好的单一二进制文件
COPY --from=builder /app/ddg-chat-go .
# 设置环境变量
ENV MAX_RETRY_COUNT="3"
ENV RETRY_DELAY="5000"
ENV PORT="7860"
# 暴露应用运行的端口
EXPOSE 7860
# 确保二进制文件可执行
RUN chmod +x ddg-chat-go
# 启动程序
CMD ["./ddg-chat-go"]
|