# 选择官方golang镜像作为build阶段基础镜像 | |
FROM golang:1.21-alpine AS builder | |
# 设置工作目录 | |
WORKDIR /app | |
# 拷贝源代码到容器 | |
COPY . . | |
# 编译Go可执行文件(可生成更小静态文件) | |
RUN go build -o main . | |
# 运行阶段使用更小的基础镜像 | |
FROM alpine:latest | |
# 设置工作目录 | |
WORKDIR /app | |
# 从builder镜像复制编译好的二进制文件 | |
COPY --from=builder /app/main . | |
# 暴露端口 | |
EXPOSE 7860 | |
# 容器启动时运行 | |
CMD ["./main", "-t", "sse", "-p", "7860"] |