Spaces:
Sleeping
Sleeping
YimoEx commited on
Commit ·
fc5e384
1
Parent(s): c781757
Update Dockerfile
Browse files- Dockerfile +26 -0
Dockerfile
CHANGED
|
@@ -1,16 +1,42 @@
|
|
|
|
|
| 1 |
FROM golang:1.22.2-alpine AS builder
|
|
|
|
|
|
|
| 2 |
WORKDIR /app
|
|
|
|
|
|
|
| 3 |
COPY . .
|
|
|
|
|
|
|
| 4 |
RUN go mod download
|
|
|
|
|
|
|
| 5 |
RUN go build -o sublinkX
|
| 6 |
|
| 7 |
# Final stage
|
| 8 |
FROM alpine:latest
|
|
|
|
|
|
|
| 9 |
WORKDIR /app
|
| 10 |
|
| 11 |
# 设置时区为 Asia/Shanghai
|
| 12 |
ENV TZ=Asia/Shanghai
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
|
|
|
|
| 14 |
COPY --from=builder /app/sublinkX /app/sublinkX
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
EXPOSE 8000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16 |
CMD ["/app/sublinkX"]
|
|
|
|
| 1 |
+
# Build stage
|
| 2 |
FROM golang:1.22.2-alpine AS builder
|
| 3 |
+
|
| 4 |
+
# 设置工作目录
|
| 5 |
WORKDIR /app
|
| 6 |
+
|
| 7 |
+
# 拷贝源码到镜像中
|
| 8 |
COPY . .
|
| 9 |
+
|
| 10 |
+
# 下载依赖
|
| 11 |
RUN go mod download
|
| 12 |
+
|
| 13 |
+
# 构建 Go 应用,生成二进制文件 sublinkX
|
| 14 |
RUN go build -o sublinkX
|
| 15 |
|
| 16 |
# Final stage
|
| 17 |
FROM alpine:latest
|
| 18 |
+
|
| 19 |
+
# 设置工作目录
|
| 20 |
WORKDIR /app
|
| 21 |
|
| 22 |
# 设置时区为 Asia/Shanghai
|
| 23 |
ENV TZ=Asia/Shanghai
|
| 24 |
+
RUN apk add --no-cache tzdata && \
|
| 25 |
+
cp /usr/share/zoneinfo/$TZ /etc/localtime && \
|
| 26 |
+
echo $TZ > /etc/timezone && \
|
| 27 |
+
apk del tzdata
|
| 28 |
|
| 29 |
+
# 复制构建阶段生成的二进制文件到最终镜像
|
| 30 |
COPY --from=builder /app/sublinkX /app/sublinkX
|
| 31 |
+
|
| 32 |
+
# 创建 db、template 和 logs 目录(用于持久化数据)
|
| 33 |
+
RUN mkdir -p /app/db /app/template /app/logs
|
| 34 |
+
|
| 35 |
+
# 确保程序运行时监听 Huggingface 的推荐端口 7860
|
| 36 |
EXPOSE 8000
|
| 37 |
+
|
| 38 |
+
# 如果你的应用未支持自定义运行端口,请考虑重写环境变量
|
| 39 |
+
ENV PORT=8000
|
| 40 |
+
|
| 41 |
+
# 启动程序
|
| 42 |
CMD ["/app/sublinkX"]
|