# Dockerfile FROM golang:1.21-alpine AS builder # 安装构建依赖 RUN apk add --no-cache git nodejs npm # 设置工作目录 WORKDIR /app # 复制go模块文件 COPY go.mod go.sum ./ RUN go mod download # 复制前端文件 COPY frontend/ ./frontend/ RUN cd frontend && npm install && npm run build # 复制源代码 COPY . . # 构建应用 RUN wails build -clean # 运行阶段 FROM alpine:latest # 安装运行时依赖 RUN apk add --no-cache ca-certificates tzdata # 创建非root用户 RUN addgroup -g 1001 -S appgroup && \ adduser -u 1001 -S appuser -G appgroup # 设置工作目录 WORKDIR /app # 复制可执行文件 COPY --from=builder /app/build/bin/equipment-analyzer . # 设置权限 RUN chown -R appuser:appgroup /app # 切换到非root用户 USER appuser # 暴露端口(如果需要) EXPOSE 8080 # 启动应用 CMD ["./equipment-analyzer"]