# Build stage FROM golang:1.20-alpine AS builder WORKDIR /app # Copy source code COPY . . ENV GOPROXY=https://goproxy.cn,direct ENV GOSUMDB=off # Build binary RUN go mod download && \ CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o doc_ai ./main.go # Runtime stage FROM alpine:latest # Set timezone RUN apk add --no-cache tzdata && \ cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \ echo "Asia/Shanghai" > /etc/timezone WORKDIR /app # Copy binary from builder COPY --from=builder /app/doc_ai . # Copy config files COPY config/config_*.yaml ./config/ # Create data directory RUN mkdir -p /data/formula && \ chmod -R 755 /data # Expose port (update based on your config) EXPOSE 8024 # Set entrypoint ENTRYPOINT ["./doc_ai"] # Default command (can be overridden) CMD ["-env", "prod"]