zencoder / Dockerfile
wzxwhxcz's picture
Create Dockerfile
661ffcb verified
raw
history blame contribute delete
706 Bytes
# 第一阶段:编译 Go 程序
FROM golang:1.21-alpine AS builder
WORKDIR /app
# 复制依赖文件并下载
COPY go.mod ./
# 如果有 go.sum 也要复制:COPY go.mod go.sum ./
RUN go mod download
# 复制所有源代码
COPY . .
# 编译程序(确保 main.go 在根目录)
RUN go build -o main .
# 第二阶段:运行镜像
FROM alpine:latest
WORKDIR /root/
# 从编译阶段复制二进制文件和 .env
COPY --from=builder /app/main .
COPY --from=builder /app/.env .
# 如果有其他静态资源文件夹(如 web),也要复制
COPY --from=builder /app/web ./web
# Hugging Face Spaces 默认使用 7860 端口
EXPOSE 7860
# 必须让你的 Go 程序监听 7860 端口
CMD ["./main"]