# Build stage FROM golang:1.20-alpine AS builder WORKDIR /app # Copy source code COPY . . # Build binary RUN CGO_ENABLED=0 GOOS=linux go build -mod=vendor -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"]