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