k2 / Dockerfile
sanbo
update sth at 2025-10-11 15:28:41
6cacf3d
raw
history blame contribute delete
980 Bytes
# Build stage
FROM golang:1.24-alpine AS builder
# 安装构建依赖
RUN apk --no-cache add git ca-certificates tzdata
WORKDIR /app
# 复制依赖文件
COPY go.mod go.sum ./
# 下载依赖(如果有的话)
RUN go mod download
# 复制源代码
COPY . .
# 构建应用
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o main .
# Final stage
FROM alpine:latest
# 安装运行时依赖
RUN apk --no-cache add ca-certificates tzdata && \
cp /usr/share/zoneinfo/Pacific/Auckland /etc/localtime && \
echo "Pacific/Auckland" > /etc/timezone
WORKDIR /app
# 从构建阶段复制二进制文件
COPY --from=builder /app/main .
# 创建非root用户
RUN addgroup -g 1000 appuser && \
adduser -D -u 1000 -G appuser appuser && \
chown -R appuser:appuser /app
USER appuser
# Labels
LABEL maintainer="k2"
LABEL description="K2Think OpenAI Compatible API"
LABEL version="1.0.0"
# 暴露端口
EXPOSE 7860
# 运行应用
CMD ["./main"]